Piattaforma di Gestione Rete Italia
Sistema Integrato per Analisi di Fattibilità, Rilascio e Routing su Rete AGGREGATION (RA) e CORE (RC) TelecomItalia
Funzionalità Principali
Suite Completa di Strumenti Enterprise per Ottimizzazione Rete DWDM.
Algoritmo Dijkstra Avanzato
Core EngineCalcolo automatico fino a 300 percorsi primari (Std) (default 30) ottimizzati per distanza e 10 alternativi diversificati (Div) per ciascuno. Vincoli configurabili: centrali obbligatorie (selezione multipla), centrali da evitare (multipla), distanza min/max km, numero collegamenti, solo ATTIVI.
Database Enterprise RC + RA Italia
ProfessionalRepository RC Italia con 500+ centrali e RA Italia con rete aggregation regionale. Metadati completi (GAT, CLLI, coordinate WGS84, zona, area, regione, stato operativo). Ricerca full-text case-insensitive. Filtri Stati separati: RA 4 stati (Attivo, Non Attivo, In Attivazione, Da Verificare), RC 5 stati. Selezione multipla separata DB RA/RC, personalizzazione colonne, export CSV.
Geocodifica OpenStreetMap
Smart LocationConversione automatica indirizzo → coordinate WGS84 tramite OpenStreetMap Nominatim API. Algoritmo Haversine per calcolo distanze ortodromiche. Identificazione automatica centrale più vicina con indicatore permanente distanza. Supporto indirizzi italiani completi.
Mappa Visualizzazione Percorsi
Path ViewerMappa Leaflet.js dedicata alla visualizzazione dei percorsi calcolati nella Ricerca Percorsi. Overlay colorati differenziati per percorsi primari (Std) e diversificati (Div), layer control avanzato, zoom automatico sul percorso selezionato. Contesto RA/RC: la mappa si resetta automaticamente quando passi da "Ricerca Percorso RA" a "Ricerca Percorso RC" (e viceversa), evitando refusi di ricerche precedenti. Le funzionalità complete di analisi topografica (filtri, marker, ricerca indirizzo, COLT vicine) sono disponibili nel tool NAT Italia.
Calcolo Attenuazione Fibra
ProfessionalStima professionale perdite su tratte fibra ottica. Layout a 2 colonne: form input + risultato stile Riepilogo Economico a sinistra, legenda con tabella coefficienti a destra. Supporta MM (850/1300 nm) e SM (1310/1550 nm). Coefficienti standard ITU-T G.652/G.651.
Sistema Undo Intelligente
Time-saverCronologia automatica ultime 20 ricerche con salvataggio completo: centrali, vincoli, filtri, coordinate cliente, toggle stati. Ripristino istantaneo con 1 click. Persistenza localStorage tra sessioni. History stack FIFO. Risparmio: da 5 minuti a 5 secondi!
Export Multi-formato
Enterprise OutputExport percorsi formato TXT professionale con header grafico, box percorso, centrali numerate e collegamenti con TipoSede. Copia formattata con emoji bandiere: 🇵🇦🇷🇹🇪🇳🇿🇦 Partenza, 🇵🇦🇸🇸🇦🇬🇬🇮🇴 Passaggio, 🇬🇦🇹🇪🇼🇦🇾 Gateway RA↔RC, 🇦🇷🇷🇮🇻🇴 Arrivo. Formato unificato per RC, RA e UNIFIED.
Documentazione Unificata
Complete GuideDocumentazione Tecnica + Guida Operativa in tab unico con 2 sezioni separate. Include: introduzione, 6 funzionalità dettagliate con details espandibili, workflow 11 passi, caso d'uso reale ROMA-MILANO, tips professionali, FAQ troubleshooting. Navigazione rapida con indice cliccabile.
RA Italia — Rete Aggregation
Network AggregationRete di aggregazione regionale con Multi-Path: calcolo simultaneo percorsi su tutti gli archi compatibili tra Partenza e Arrivo. Bottoni 🔽 Filtri Stati, ⚖️ Confronta (Comparatore 3 Percorsi), 🔗 Condividi per copia link configurazione, 🌍 Mappa NAT per esportare percorsi su mappa geografica. Toggle Solo Collegamenti ATTIVI, export TXT professionale.
RC Italia — Rete Core
Network CoreBackbone nazionale DWDM e collegamenti metropolitani Ultra Dense Urban e Dense Urban. Bottoni 🔽 Filtri Stati (5 stati: Attivo, Non Attivo, In Attivazione, In Variazione, In Reinstradamento), ⚖️ Confronta (Comparatore 3 Percorsi), 🔗 Condividi, 🌍 Mappa NAT per esportare percorsi su mappa geografica.
Percorso Unificato RA+RC
Combined AnalysisRicerca percorsi che attraversano entrambe le reti RA e RC con gateway automatici. Colonna Mix mostra composizione (RA:n, RC:m, salti). Bottoni 🔽 Filtri Stati (RA 4 stati + RC 5 stati), ⚖️ Confronta (Comparatore 3 Percorsi con formato Nome (CLLI) [TipoSede] :RA: / :RC:), 🔗 Condividi, 🌍 Mappa NAT per esportare percorsi unificati su mappa geografica con gateway evidenziati.
Fibra Nuda Diretta
In StudioCollegamenti punto-punto dedicati in fibra ottica dark fiber. Sezione attualmente in fase di studio ed eventuale implementazione. Permetterà l'analisi di percorsi su infrastruttura fibra nuda per servizi dedicati ad alta capacità senza apparati attivi intermedi.
Filtro POP (NODO A1)
32 CentraliToggle per filtrare le 32 centrali POP nazionali (NODO A1) come destinazione percorsi. I POP sono i punti di interconnessione regionali della rete TIM: ROMA, MILANO, TORINO, NAPOLI, BOLOGNA, FIRENZE, ecc. Attivando il filtro, il campo arrivo mostra solo le centrali POP ufficiali.
Colorazione ID Collegamenti RA
Visual CodeSistema di colorazione semantica per gli ID collegamenti RA: Verde (T1↔T2, T2↔T2) collegamenti principali, Blu TIM (T2↔T3) collegamenti intermedi, Standard (T3↔T3) collegamenti di transito. Il conteggio calcola: verdi=1, blu=0.5 (ogni 2=1).
Analisi S.d.F. Internalizzati
NEWDashboard completa per il monitoraggio delle Schede di Fattibilità Internalizzate (Retail & Wholesale). Include KPI in tempo reale, 6 grafici interattivi, filtri per stato/tipologia/territorio/scadenza e tabella dettagliata con ordinamento.
Confronto DB Excel
NEWTool per confrontare versioni di database Excel. Analizza fogli, righe e celle per identificare differenze. Include verifica speciale GAT_A/GAT_Z per file RA/RC con report dettagliato delle anomalie.
Memo e Promemoria S.d.F.
NEWSistema completo per gestire promemoria sulle Schede di Fattibilità. Bottone 📝 nell'header per accesso rapido, possibilità di aggiungere memo manuali o importarli dalla tabella S.d.F., alert configurabili per scadenze imminenti (0-30 giorni), colonna Cliente, export CSV e Export Excel "Diario Lavoro S.d.F." con fogli separati per lavorante.
Dark Mode
Eye ComfortModalità scura completa per ridurre l'affaticamento visivo durante lunghe sessioni di lavoro. Toggle nell'header per attivazione immediata. Supporto completo per popup (Memo, Alert, Cronologia), tabelle, form, calendario e tutti gli elementi dell'interfaccia. 21+ componenti ottimizzati per dark mode con colori bilanciati e leggibilità perfetta.
Filtri Stati Collegamenti
Smart FilterPannello espandibile 🔽 Filtri Stati per filtrare i percorsi in base allo stato dei collegamenti. Filtri RA: Attivo, Non Attivo [DA VERIFICARE SU NNI], In Attivazione, Da Verificare su NNI (4 stati). Filtri RC: Attivo, Non Attivo, In Attivazione, In Variazione, In Reinstradamento (5 stati). Applicazione istantanea con persistenza separata per ogni tab.
Comparatore a 3 Percorsi
⚖️ CompareSistema avanzato per confrontare visivamente fino a 3 percorsi affiancati (2 obbligatori, terzo opzionale). Selettori colorati 🔵 Percorso A (blu), 🔴 Percorso B (rosso), 🟢 Percorso C (verde). Metriche confrontate: distanza km, numero hop, dettaglio collegamenti con ID, distanza e stato colorato. Calcolo automatico overlap % e evidenziazione migliore/peggiore per ogni metrica.
Condivisione Ricerche
🔗 ShareFunzionalità 🔗 Condividi per generare e condividere link con parametri di ricerca preconfigurati. Include centrali partenza/arrivo, filtri attivi, vincoli obbligatori/evitare. Toggle comportamento: clic ripetuto chiude il pannello, auto-chiusura 10 sec. Bottone copia clipboard per condivisione rapida con colleghi.
🌍 Integrazione NAT Italia
Cross-ToolEsporta i percorsi calcolati in CRO verso NAT Italia per visualizzarli sulla mappa geografica interattiva. Il bottone 🌍 Mappa NAT (presente in RA, RC, Unificato) trasferisce automaticamente tutti i percorsi Std, Div e Multi-Path con coordinate, CLLI e TipoSede di ogni centrale. Su NAT i percorsi appaiono come polyline colorate (blu RA, rosso RC, viola Unificato) con marker per ogni nodo e gateway evidenziati. Ideale per presentazioni, verifiche sul campo e analisi geografica dei tracciati.
Analisi Rete
Network ToolsTab dedicato nel menu Analisi per ricerca collegamenti e simulazione impatto. Permette di cercare collegamenti specifici per ID o centrali, visualizzare dettagli completi (stato, distanza, tipo), e simulare l'impatto della dismissione o variazione stato su percorsi esistenti. Tool professionale per analisi topologiche avanzate.
Novità V30.07
Latest
Aggiornamenti principali dell'ultima release:
• 🔄 Gateway RA→RA: i passaggi tra segmenti RA diversi sono ora evidenziati con icona gateway viola.
• 🔄 Gateway RC→RC: i passaggi tra segmenti RC diversi sono anch'essi evidenziati con stile gateway.
• 🗺️ Visualizzazione NAT: i nuovi tipi gateway sono visibili sia in "Collegamenti" che in "Info".
Ricerca Percorso RC
Impostazione Ricerca Percorsi Standard e Percorsi Diversificati sulla Rete RC Italia
Imposta i parametri di ricerca per ottenere fino a 300 Percorsi Standard (Std) (default: 30)
e, per ciascuno di essi, fino a 10 Percorsi Diversificati (Div).
I percorsi saranno calcolati sulla base del DB RC Italia, tenendo conto di Stati, Distanze e Vincoli.
Note su Ricerca Percorso RC:
📍 Posizione Cliente: inserisci l’indirizzo completo oppure le coordinate (Lat/Lon). Con “🔍 Geocodifica Indirizzo” il sistema converte automaticamente l’indirizzo in coordinate geografiche utilizzabili per la ricerca.
🔎 Trova Centrale Vicina: calcola la centrale RC più vicina alla posizione cliente tramite algoritmo di Haversine e la imposta automaticamente come “🚀 Centrale di Partenza (Percorso Std)”.
🥇 Percorso Std: utilizza Partenza 1 / Arrivo 1 e restituisce fino a 30 soluzioni ordinate per distanza crescente. Questi rappresentano i percorsi standard primari (candidati principali).
🥈 Percorsi Div: genera percorsi diversificati usando Partenza 2 / Arrivo 2 se valorizzati; in caso contrario usa i nodi dello Std. Serve per ottenere alternative e migliorare la ridondanza del routing.
✅ Centrale Obbligatoria: forza il transito attraverso la centrale indicata. Usa “➕ Sel. Multipla” per imporre il passaggio su più centrali contemporaneamente.
🚫 Centrale da Evitare: esclude la centrale dal grafo di ricerca, impedendo che compaia in qualsiasi percorso. Usa “➕ Sel. Multipla” per escludere più centrali in un’unica azione.
⚙️ Filtri avanzati: limita i risultati per numero di hop, distanza (km) e numero massimo di percorsi visualizzati, migliorando prestazioni e leggibilità della ricerca.
↩️ Undo (Ultime 20): ripristina una delle ultime 20 ricerche salvate con parametri e selezioni (centrali, filtri, selezione multipla). Il/i bottoni “🔁 Reset Campi” non cancellano la cronologia.
🔽 Filtri Stati: filtra i percorsi in base allo stato dei collegamenti (ATTIVO, NON ATTIVO, IN ATTIVAZIONE, IN VARIAZIONE, IN REINSTRADAMENTO). Applicazione immediata ai risultati.
⚖️ Confronta: attiva il comparatore fino a 3 percorsi affiancati, mostrando distanza, hop, collegamenti e % overlap, con evidenziazione automatica del migliore e del peggiore per ogni metrica.
🔗 Condividi: genera un link condivisibile con tutti i parametri della ricerca corrente (centrali, filtri e vincoli), per salvare o condividere configurazioni operative con i colleghi.
🌍 Mappa NAT: esporta i percorsi calcolati (Std e Div) verso NAT Italia per la visualizzazione geografica. Polyline colorate con marker per ogni centrale e tooltip dettagliati.
🎨 Legenda Colori ID Collegamenti RC (per Stato):
Verde = ATTIVO
Rosso = NON ATTIVO
Arancione = IN ATTIVAZIONE
Blu = IN VARIAZIONE
Viola = IN REINSTRADAMENTO
| # | Percorso Centrali | ID Collegamenti | Collegamenti | Distanza (km) | Azioni |
|---|---|---|---|---|---|
| Nessun percorso calcolato. Imposta i parametri e premi Calcola Percorsi Std. | |||||
Percorsi Div (diversificati) per il percorso selezionato
| # | Percorso Centrali | ID Collegamenti | Collegamenti | Distanza (km) | Azioni |
|---|---|---|---|---|---|
| Seleziona un percorso Std e lancia Percorsi Div per vedere le alternative diversificate. | |||||
Ricerca Percorso RA
Ricerca percorsi sulla Rete RA Italia (T2 → T1)
Ricerca percorsi sulla Rete RA Italia da una centrale di Partenza (T2) verso una centrale di Arrivo (T1). In modalità Arco singolo viene calcolato un Percorso Standard (Std) e il relativo Diversificato (Div).
In modalità Multi-Path è possibile individuare tutti i percorsi tra Partenza e Arrivo che condividono gli stessi Archi di rete.
Note su Ricerca Percorso RA:
📍 Posizione Cliente: inserisci l’indirizzo completo oppure le coordinate (Lat/Lon). Con “🔍 Geocodifica Indirizzo” il sistema converte automaticamente l’indirizzo in coordinate geografiche utilizzabili per il calcolo dei percorsi.
🔎 Trova Centrale Vicina: calcola la centrale RA più vicina (Tipo 1 o Tipo 2) alla posizione cliente tramite algoritmo di Haversine e la imposta automaticamente come “🚀 Centrale di Partenza (Percorso Std)”.
🥇 Percorso Std: utilizza Partenza 1 → Arrivo 1 e restituisce il percorso ottimale ordinato per distanza. La centrale di partenza può essere Tipo 1 o Tipo 2, mentre la centrale di arrivo è sempre Tipo 1 (NODO A1).
🥈 Percorsi Div: calcola un percorso alternativo e diversificato verso un’altra centrale Tipo 1 (NODO A1) sullo stesso arco. Disponibile solo con arrivo Tipo 1, fornisce ridondanza e resilienza per scenari di disaster recovery.
🏢 Tipi Sede: Tipo 1 = HUB RA+RC (NODO A1, interconnesso con Rete Core) • Tipo 2 = HUB RA (aggregazione verso Tipo 1) • Tipo 3 = Passaggio/transito, non visualizzato nei percorsi ma attraversato dai collegamenti.
🔵 Filtro POP (NODO A1): il bottone [POP] limita la destinazione alle 32 centrali POP nazionali, principali nodi di interconnessione regionale con la rete Core RC Italia.
📍 Archi Multipli: se una centrale appartiene a più archi, viene mostrato [Premi Qui] per visualizzare l’elenco completo. I filtri Arco e Tipo Sede aggiornano dinamicamente le centrali disponibili negli autocomplete.
⚠️ Selezione Arco Obbligatoria: quando Partenza e Arrivo risultano compatibili con più archi, è necessario selezionare un solo arco nel “🔍 Filtro per Arco (Checkbox)” prima di eseguire il calcolo, per evitare ambiguità di percorso.
🔀 Multi-Path: funzione avanzata che calcola tutti i percorsi Std su tutti gli archi compatibili tra Partenza e Arrivo. Utile per confrontare rapidamente più soluzioni e individuare l’opzione più efficiente.
↩️ Undo (Ultime 20): consente di ripristinare una delle ultime 20 ricerche effettuate. Tutti i parametri vengono salvati automaticamente. Il comando “🔁 Reset Campi” non cancella la cronologia delle ricerche.
🔽 Filtri Stati: permette di visualizzare solo i percorsi con collegamenti in stati specifici (ATTIVO, NON ATTIVO [DA VERIFICARE SU NNI], IN ATTIVAZIONE, DA VERIFICARE SU NNI). I filtri vengono applicati in tempo reale ai risultati.
⚖️ Confronta: attiva il comparatore fino a 3 percorsi affiancati, mostrando distanza, hop, collegamenti e percentuale di overlap, con evidenziazione automatica del migliore e del peggiore per ogni metrica.
🔗 Condividi: genera un link condivisibile contenente tutti i parametri della ricerca corrente (centrali, filtri e vincoli), consentendo di salvare o condividere configurazioni operative con altri utenti.
🌍 Mappa NAT: esporta i percorsi (Std, Div e Multi-Path) verso NAT Italia. Polyline colorate con marker per ogni centrale. I Multi-Path duplicati (stesso arco di Std) sono esclusi automaticamente.
🔑 La costruzione dell'identificativo univoco di collegamento (IdCollegamento) è così strutturata:
NE_arco_1042 | NE_144 | ANE009 | 5 | [1]
NE_arco_1042 → identificativo dell'Arco di rete
NE_144 → identificativo del ramo (IdRamo)
ANE009 → identificativo del sub-path
5 → indica il progressivo dell'IdRamo all'interno dell'arco di appartenenza
L'insieme di questi 4 elementi definisce in modo univoco il path nel modello RA.
🎨 Colorazione ID Collegamenti (per tipo connessione e peso):
Verde=T1↔T2/T2↔T2 (1) • Blu TIM=T2↔T3 (0.5) • Grigio=T3↔T3 (0)
| # | Percorso Centrali | ID Collegamenti | Collegamenti | Distanza (km) | Azioni |
|---|---|---|---|---|---|
| Nessun percorso calcolato. Imposta i parametri e premi Calcola Percorsi RA. | |||||
Percorsi Div (diversificati) per il percorso selezionato
| # | Percorso Centrali | ID Collegamenti | Collegamenti | Distanza (km) | Azioni |
|---|---|---|---|---|---|
| Seleziona un percorso Std e lancia Percorsi Div per vedere le alternative diversificate. | |||||
🔀 Multi-Path: Percorsi su tutti gli archi compatibili
| # | 🔗 Arco | Percorso Centrali | ID Collegamenti | Collegamenti | Distanza (km) | Azioni |
|---|---|---|---|---|---|---|
| Premi 🔀 Multi-Path per calcolare i percorsi su tutti gli archi compatibili. | ||||||
📍 Percorso Div per Arco selezionato
| # | 🔗 Arco | Percorso Centrali | ID Collegamenti | Collegamenti | Distanza (km) |
|---|---|---|---|---|---|
| Seleziona un percorso e premi ▶ Percorso Div per vedere il diversificato. | |||||
Ricerca Percorso Unificato (RA + RC)
Calcolo percorso ottimale su rete combinata RA + RC
Seleziona una centrale di Partenza e una di Arrivo (da DB RA o DB RC).
Il calcolo considera entrambi i database e ricerca il percorso più corto,
con tie-break su meno collegamenti.
In rete RA le centrali [T3] sono considerate
solo di passaggio (non selezionabili come endpoint).
Note su Ricerca Percorso Unificato:
📍 Posizione Cliente: inserisci l’indirizzo completo oppure le coordinate (Lat/Lon). Con “🔍 Geocodifica Indirizzo” il sistema converte automaticamente l’indirizzo in coordinate geografiche utilizzabili per la ricerca.
🔎 Trova Centrale Vicina: calcola la centrale più vicina (RA Tipo 1/2 o RC) tramite algoritmo di Haversine. Usa il bottone “🚀/🏁 Inserisci” per scegliere se impostarla come Partenza o Arrivo.
👥 Modalità Cliente SedeA → Rete → SedeZ: inserisci le coordinate di due clienti (A e Z). Il sistema individua le centrali più vicine e calcola il percorso ottimale sulla rete unificata RA+RC.
🥇 Percorso Std: utilizza Partenza 1 / Arrivo 1 e restituisce fino a 10 soluzioni ordinate per distanza crescente. Questi rappresentano i percorsi standard primari (candidati principali).
🥈 Percorsi Div: genera percorsi diversificati usando Partenza 2 / Arrivo 2 se valorizzati; in caso contrario usa i nodi dello Std. Serve per ottenere alternative e migliorare la ridondanza del routing.
✅ Centrale Obbligatoria: forza il transito attraverso la centrale indicata. Usa “➕ Sel. Multipla” per imporre il passaggio su più centrali contemporaneamente.
🚫 Centrale da Evitare: esclude la centrale dal grafo di ricerca, impedendo che compaia in qualsiasi percorso. Usa “➕ Sel. Multipla” per escludere più centrali in un’unica azione.
🏢 Tipi Sede RA: Tipo 1 [T1] = HUB RA+RC (NODO A1, interconnesso con Rete Core) • Tipo 2 [T2] = HUB RA (aggregazione verso T1) • Tipo 3 [T3] = Passaggio/transito (solo transito, non selezionabile come endpoint).
🔗 Interconnessione RA↔RC: il passaggio tra RA e RC avviene automaticamente su nodi con lo stesso CLLI (tipicamente le centrali [T1] / NODO A1).
🔵 Filtro POP: il bottone [POP] nel campo Arrivo limita la destinazione alle centrali POP nazionali (NODI A1), utile per instradamenti verso i principali punti di interconnessione regionali.
🔽 Filtri Stati: filtra i risultati per stato dei collegamenti. In RA: ATTIVO, NON ATTIVO [DA VERIFICARE SU NNI], IN ATTIVAZIONE, DA VERIFICARE SU NNI. In RC: ATTIVO, NON ATTIVO, IN ATTIVAZIONE, IN VARIAZIONE, IN REINSTRADAMENTO.
⚖️ Confronta: attiva il comparatore fino a 3 percorsi affiancati, mostrando distanza, hop, collegamenti in formato Nome (CLLI) [TipoSede] :RA: / :RC: e % overlap per valutare differenze e ridondanza.
🔗 Condividi: genera un link condivisibile con tutti i parametri della ricerca corrente (centrali, filtri e vincoli), per salvare o condividere configurazioni operative con i colleghi.
🌍 Mappa NAT: esporta i percorsi Unificati (Std e Div) verso NAT Italia. Polyline colorate con marker per ogni centrale e gateway evidenziati in viola.
💡 Mix RA/RC: La colonna "Mix" nei risultati mostra la composizione del percorso (es. RA:3 • RC:2 • 1 salto indica 3 tratte RA, 2 tratte RC e 1 cambio RA↔RC). Questo permette di valutare quali segmenti di rete vengono attraversati.
🎨 Colorazione ID Collegamenti RA (per tipo connessione e peso):
Verde=T1↔T2/T2↔T2 (1) • Blu TIM=T2↔T3 (0.5) • Grigio=T3↔T3 (0)
🏷️ Stati Collegamenti RA (etichette):
ATTIVO • NON ATTIVO [DA VERIFICARE SU NNI]
IN ATTIVAZIONE • DA VERIFICARE SU NNI
🎨 Colorazione ID Collegamenti RC (per stato):
Verde = ATTIVO
Rosso = NON ATTIVO
Arancione = IN ATTIVAZIONE
Blu = IN VARIAZIONE
Viola = IN REINSTRADAMENTO
🎨 Colorazione [GW] Gateway (passaggio tra reti):
Viola intenso = Cambio RA↔RC / RC↔RA / RA↔RA
| # | Percorso Centrali | ID Collegamenti | Collegamenti | Distanza (km) | Azioni |
|---|---|---|---|---|---|
| Imposta Partenza e Arrivo e premi Calcola Percorsi UNIFICATO RA + RC. | |||||
🗺️ Mappa Topografica dei Percorsi
Visualizza su mappa i percorsi Std / Div dell'ultima ricerca eseguita.
Percorsi trovati (0)
Usa le checkbox per mostrare o nascondere i singoli percorsi sulla mappa.
🗺️ Mappa Topografica dei Percorsi Unificati RA+RC
Visualizza su mappa i percorsi Std / Div dell'ultima ricerca Unificata eseguita.
Percorsi trovati (0)
Usa le checkbox per mostrare o nascondere i singoli percorsi sulla mappa.
Mappa Topografica Nazionale
Visualizzazione geografica completa della rete RC_Italia con filtri interattivi per Area, Zona e Stato
Visualizzazione Database
Consulta, filtra ed esporta i collegamenti presenti nei database RA e RC.
Calcolo Attenuazione Fibra (dB)
Stima la perdita complessiva su una tratta in fibra ottica in funzione della lunghezza, del tipo di fibra e del numero di Collegamenti.
📊 Risultato Calcolo Attenuazione
| Tipo fibra | - |
|---|---|
| Lunghezza tratta | - |
| N° Collegamenti (Connettorizzazioni) | - |
| 📉 Perdita fibra (L × α) | - |
| 🔗 Perdita connettori (N × 0.3) | - |
| ⚡ PERDITA TOTALE STIMATA | - |
📚 Legenda e Metodologia di Calcolo:
📐 Formula ITU-T: La perdita totale è calcolata con:
Perdita (dB) = (L × α) + (N_conn × 0.3)📏 Parametri: L = lunghezza in km, α = coefficiente attenuazione intrinseca (dB/km), N_conn = numero connettorizzazioni (2 per ogni bretella).
🌈 Coefficienti di Attenuazione (α):
| λ (nm) | Tipo | α (dB/km) | Uso tipico |
|---|---|---|---|
| ● 850 | MM | 3.00 | Data center, LAN |
| ● 1300 | MM | 1.00 | Campus network |
| ● 1310 | SM | 0.35 | Metro, regionale |
| ● 1550 | SM | 0.22 | Long-haul, DWDM |
🔗 Connettorizzazioni: Ogni bretella ha 2 connettori. Con X bretelle → 2X connettorizzazioni → perdita = 2X × 0.3 dB.
📋 Standard: Valori basati su ITU-T G.652 (SM) e G.651 (MM). Perdita connettore tipica: 0.3 dB (fusione) - 0.5 dB (meccanico).
💡 Esempio: 35 km a 1550 nm, 3 bretelle (6 conn.)
Fibra: 35 × 0.22 = 7.70 dB
Connettori: 6 × 0.3 = 1.80 dB
Totale = 9.50 dB
Analisi Costi per Fattibilità
Stima dei Costi associati a Link, Code Cliente e Apparati/Cestelli, con Selezione Multipla e Riepilogo Economico.
📊 Riepilogo Economico
Totali Calcolati in tempo reale sulla base di tutte le righe selezionate nei tre pannelli.
| Totale Listino Link RA & RC | 0,00 € |
|---|---|
| Totale Coda Cliente & Servizio | 0,00 € |
| Totale Apparati & Cestelli | 0,00 € |
| Totale Complessivo Stimato (Prezzo Cliente) | 0,00 € |
| Totale Complessivo con eventuale Sconto** | 0,00 € |
🧾 Coda Cliente & Servizio
Componenti Economiche legate al tipo di Servizio Richiesto e alle Risorse Cliente.
| Tipologia | HW ADVA | Costo |
|---|
| CODA RETAIL | HW ADVA | Costo |
|---|
🔗 Link Rete RA & RC
Seleziona le Tipologie di Link Richieste dal Cliente. I Costi Includono Nuova Connessione e Scorta.
| Link | HW HUAWEI | Costo | |
|---|---|---|---|
| Caricamento… | |||
| Link | HW HUAWEI | Costo | |
|---|---|---|---|
| Caricamento… | |||
| Link | HW HUAWEI | Costo | |
|---|---|---|---|
| Caricamento… | |||
| Link | HW HUAWEI | Costo | |
|---|---|---|---|
| Caricamento… | |||
| Descrizione | Costo | |
|---|---|---|
| Caricamento… | ||
📲 Apparati & Cestelli
Costi una Tantum legati a Installazione Apparati, Schede e Cestelli Necessari al Servizio.
| Dettaglio | Note | Costo | |
|---|---|---|---|
| Caricamento… | |||
| Dettaglio | Note | Costo | |
|---|---|---|---|
| Caricamento… | |||
| Dettaglio | Note | Costo | |
|---|---|---|---|
| Caricamento… | |||
Dashboard S.d.F. Internalizzati
Monitoraggio operativo delle Schede di Fattibilità Internalizzate (Retail e Wholesale).
Seleziona il file Excel "SDF internalizzati" esportato dai sistemi di riferimento. I dati vengono elaborati solo in locale nel browser — nessun dato viene inviato a server esterni.
Filtri rapidi & Analytics
Filtra il backlog per stato, tipologia, territorio e scadenza. I grafici si aggiornano in tempo reale.
Stato lavorazioni
Tipo progetto
Priorità
Territorio NORD / CENTRO / SUD
Esito rispetto al totale
Scadenze vs oggi
Dettaglio S.d.F.
Elenco completo delle S.d.F. internalizzate. Le righe rispettano tutti i filtri impostati sopra.
| Fattibilità | Descrizione / Cliente | Tipo | Priorità | Data Scadenza |
Lavorante | Territorio | Provincia | Comune | Data em@il |
Data Esito |
Esito | Interventi Dimensionali |
Interventi Infrastrutturali |
Data Accettazione Cliente |
Note |
|---|
Confronto DB Excel
Verifica allineamento tra versione VECCHIA e NUOVA del DB Excel (stessa struttura: fogli e colonne).
Carica i due file Excel (vecchio e nuovo). Il tool confronterà ogni foglio, colonna, riga e cella, generando un report testuale e un export JSON del primo foglio del DB NUOVO. Tutto è elaborato in locale nel browser — nessun dato viene inviato a server esterni.
Report confronto & Export JSON
Report TXT dettagliato delle differenze e export JSON del primo foglio del DB NUOVO (chiavi = intestazioni della riga 1). Il report mostra coordinate esatte (Foglio, Riga, Colonna) di ogni differenza trovata.
✅ Verifica Centrali (GAT_A / GAT_Z) tra Vecchio e Nuovo DB
Controlla che tutte le centrali presenti come GAT_A e GAT_Z nel file VECCHIO siano presenti anche nel file NUOVO e che le informazioni collegate coincidano.
RA: foglio archi • RC: foglio collegamenti. Se un foglio non esiste nei file caricati, la verifica relativa viene saltata.
Analisi Rete
Ricerca per ID Collegamento • Analisi Impatto • Simulazione What-If
🔍 Ricerca per ID Collegamento
Inserisci l'ID di un collegamento per trovare tutti i percorsi che lo attraversano.
⚠️ Analisi Impatto (What-If)
Simula: "Se questo collegamento va in manutenzione/guasto, quali percorsi sono impattati e quali alternative esistono?"
📋 Risultati Ricerca:
| # | Tipo | Arco | Partenza → Arrivo | Hop | Distanza | Stati | Azioni |
|---|---|---|---|---|---|---|---|
| Esegui una ricerca per visualizzare i risultati | |||||||
⚠️ Analisi Impatto:
📚 Documentazione & Guida Tecnica CRO
Strumento di supporto operativo (non sostituisce i sistemi ufficiali)
🎯 Introduzione al Sistema CRO
Central Routing Optimizer - Piattaforma Enterprise Unificata per Analisi e Gestione Rete RA e RC Italia
Panoramica del Sistema
CRO (Central Routing Optimizer) è una piattaforma enterprise sviluppata per l'analisi di fattibilità, il rilascio e la gestione dei collegamenti DWDM (Dense Wavelength Division Multiplexing) e fibra ottica su due reti Telecom Italia: RC Italia (Rete Core) e RA Italia (Rete di Aggregazione).
Il sistema integra un motore di calcolo percorsi avanzato basato su algoritmo Dijkstra modificato, database separati per RC e RA con migliaia di collegamenti, e visualizzazioni geografiche interattive su mappe topografiche OpenStreetMap.
Gateway RA→RA e RC→RC evidenziati nei percorsi Unificati
- 🔄 Gateway RA→RA: i passaggi tra segmenti RA diversi sono ora evidenziati con icona gateway viola
- 🔄 Gateway RC→RC: i passaggi tra segmenti RC diversi sono anch'essi evidenziati con stile gateway
- 🗺️ Visualizzazione NAT: i nuovi tipi gateway sono visibili sia in "Collegamenti" che in "Info"
Dark Mode migliorato per tab RA
- 🌙 Dark Mode Filtri RA: la sezione "Filtro per Arco" e "Filtro per Tipo Sede" nel tab RA ora supporta correttamente il dark mode
Integrazione NAT Italia, Export Multi-Path ottimizzato, Marker centrali su mappa, Condivisione cross-tool
- 🌍 Integrazione NAT Italia: nuovo bottone "Mappa NAT" nei tab RA, RC e Unificato per esportare percorsi verso NAT
- 🔄 Export Multi-Path Ottimizzato: esclusione automatica percorsi con arco duplicato rispetto ai percorsi Std
- 📊 Marker Centrali: i percorsi esportati includono marker per tutte le centrali con tooltip standard NAT
- 🔗 Condivisione Cross-Tool: trasferimento dati tramite localStorage per integrazione CRO↔NAT
- 📍 Visualizzazione Geografica: polyline colorate per tipo rete (Blu RA, Rosso RC, Viola Unificato) su mappa NAT
- 🏷️ Gateway Evidenziati: transiti RA↔RC mostrati con icona speciale e colore viola nei percorsi Unificati
Le 32 centrali NODO A1 sono i punti di interconnessione regionali della rete TIM:
Ambito di Applicazione
CRO è progettato per supportare:
- Richieste di Fattibilità Tecnica: verifica rapida della realizzabilità di nuovi collegamenti su entrambe le reti
- Riconfigurazioni di Rete: analisi impatto e percorsi alternativi per modifiche topologiche
- Verifiche di Percorso: controllo tracciati esistenti e conformità progettuale
- Analisi Manutentive: studio collegamenti NON ATTIVI e possibili ripristini
- Scenari Alternativi: simulazioni what-if per disaster recovery e resilienza
- Ottimizzazione Routing: identificazione percorsi più efficienti per riduzione latenza/costi
- Capacity Planning: supporto decisionale per investimenti infrastrutturali
🔄 Processo di Fattibilità — Workflow Operativo
Il processo di fattibilità per servizi di connettività TIM si articola in due macro-scenari principali, che coinvolgono diverse componenti dell'infrastruttura di rete. L'analisi richiede l'utilizzo coordinato dei tool NAT (National Topography) e CRO (Central Routing Optimizer).
Il cliente (Retail o Wholesale) richiede un servizio internet con capacità di banda (es. 1G, 2G, 10G, 100G).
Flusso operativo:
- Si parte dalla posizione del cliente
- Si identifica la Centrale COLT più vicina (informazione fornita dalla S.d.F.)
- Rete di Accesso: Dal cliente alla Centrale COLT
- Se Retail → gestita da TIM
- Se Wholesale → gestita da FiberCop
- Rete di Trasporto: Dalla Centrale COLT al NODO A1 più vicino, attraversando la rete con il percorso più breve e conveniente
RETE DI ACCESSO: Cliente → Drop Cliente → Cavo di Accesso di Distribuzione → (Sede di Bypass — solo se unica opzione)
RETE DI TRASPORTO: Cavo di Giunzione/Bretella Ottica → Sede COLT (Urban Regional / Dense Urban / Ultra Dense Urban) → Rete Revolution (RA/RC) → POP
RETE DI ACCESSO: Cliente → Drop Cliente → Cavo di Bypass → Sede COLT
RETE DI TRASPORTO: Rete Revolution (RA/RC) → POP
RETE DI ACCESSO: Cliente → Drop Cliente → Cavo di Accesso di Distribuzione → Sede COLT
RETE DI TRASPORTO: Rete Revolution (RA/RC) → POP
Nota: La Rete Revolution utilizza RA Italia (Urban Regional / Dense Urban) oppure RC Italia (Ultra Dense Urban / Dense Urban) in base alla tipologia della sede.
Il cliente richiede di collegare due sedi (Sede A ↔ Sede Z) con capacità di banda (es. 1G, 2G, 10G, 100G).
Flusso operativo:
- Per ogni sede, si identifica la Centrale COLT più vicina
- La Rete di Accesso collega ogni sede alla propria Centrale COLT (TIM/FiberCop)
- Se le sedi sono nella stessa regione:
- Il percorso attraversa la Rete RA e/o RC con il tragitto più breve tra le due Centrali COLT
- Se le sedi sono in regioni diverse:
- Da ogni Centrale COLT si raggiunge il NODO A1 regionale
- I NODI A1 comunicano tra regioni tramite la Rete RTN (Rete di Trasporto Nazionale)
- Dal NODO A1 di destinazione si procede verso la Centrale COLT della Sede Z
I due tool lavorano in sinergia per completare l'analisi di fattibilità:
📍 NAT (National Topography)
|
🧭 CRO (Central Routing Optimizer)
|
Workflow tipico: Con NAT si individua il cliente, si verificano le centrali COLT vicine e si studia l'area. Con CRO si analizzano i percorsi sulla rete di trasporto, le diversificazioni per eventuale protezione e si elabora l'analisi costi.
Componenti Architetturali Principali
Core computazionale basato su algoritmo Dijkstra, esteso con logiche proprietarie per la gestione di vincoli avanzati di rete. Supporta il calcolo parallelo fino a 300 percorsi primari (Std) (default: 30), ottimizzati per distanza minima, e fino a 10 percorsi alternativi diversificati (Div) con overlap massimo configurabile. Integra un motore intelligente di eliminazione duplicati e un modulo di validazione topologica in tempo reale, garantendo coerenza e affidabilità dei risultati.
Repository completo della rete nazionale con 500+ centrali (Tipo 1, 2, 3), 5.700+ collegamenti fiber/DWDM e metadati estesi (coordinate GPS, CLLI codes, zone amministrative, stati operativi, progressivi di rete). Aggiornamento continuo tramite sincronizzazione con sistemi CR/GI. Supporto query complesse con indexing ottimizzato.
Mappe interattive powered by Leaflet.js + OpenStreetMap con overlay percorsi calcolati, marker centrali personalizzati, filtri geografici multi-livello (Area, Zona, Stato), strumenti di misura distanze e geocoding bidirezionale. Supporto layer switching e export screenshot ad alta risoluzione.
Suite completa utility: Undo/Redo ricerche (history management), Export TXT/CSV multi-formato per integrazione sistemi esterni, Calcolo Attenuazione Fibra con formule ITU-T, Geocoding indirizzi italiani via Nominatim, Ricerca Centrali Vicine con routing stradale OSRM.
Stack Tecnologico
| Componente | Tecnologia | Versione/Note |
|---|---|---|
| Frontend | HTML5, CSS3, JavaScript ES6+ | Vanilla JS - No frameworks per performance |
| Mapping | Leaflet.js | v1.9.4 - Open-source map engine |
| Map Tiles | OpenStreetMap | Tile server pubblico + fallback |
| Routing Engine | Custom Dijkstra + OSRM | Dijkstra proprietario + OSRM per routing stradale |
| Geocoding | Nominatim (OSM) | API pubblica con rate limiting |
| Database | JSON embedded + localStorage | 5.700+ records in-memory per performance |
| UI Framework | Custom CSS + Design System | TIM Corporate Identity guidelines |
Metriche di Performance
⚠️ Avvertenze / Disclaimer ufficiale
Linee guida d’uso – Strumento di supporto operativo (non sostituisce i sistemi ufficiali)
🚀 Guida rapida operativa (5 minuti)
Workflow essenziale per ottenere un percorso affidabile (RA / RC / UNIFICATO)
1) Caricamento e verifica DB
- Verifica che i DB siano presenti (RC:
RAW_DB, RA:RAW_DB_RA). In assenza DB, il tool resta stabile (NODB safe) ma non calcola percorsi. - Se noti risultati “vuoti” o bottoni inattivi, controlla che il DB sia stato realmente iniettato nella pagina.
2) Ricerca rapida RA / RC
- Seleziona 🚀 Centrale di Partenza e 🏁 Centrale di Arrivo.
- (Opzionale) imposta Arco vincolo e/o parametri di diversificazione.
- Avvia il calcolo (Std / Div). Se necessario, usa 🧹 Pulisci Tabella o ↩️ Undo.
3) Ricerca UNIFICATO (RA + RC)
- Imposta Partenza e Arrivo e (se previsto) il toggle ⚪POP.
- Avvia ⚡ Calcola Percorso UNIFICATO RA + RC per gestire casistiche miste (RA↔RC).
- Per iterazioni rapide usa ↩️ Undo (Ultime 20) o 🧼 Reset Tab (azzera l’intera tab UNIFICATO).
4) Modalità Cliente SedeA → Rete → SedeZ
- Inserisci le coordinate di SedeA e SedeZ (Lat/Lon) oppure usa 🔎 Trova Centrale Vicina dove disponibile.
- Avvia 🚀 Calcola Percorso Cliente SedeA → Rete → SedeZ per ottenere il percorso end-to-end.
5) Copia/Esportazione e Mappa
- Usa 📋 Copia Percorso, 🔗 Copia ID Collegamenti e 🗺️ Maps per condivisione rapida.
- Apri la 🗺️ Mappa Topografica per verificare visivamente il tracciato e (se disponibile) attivare/disattivare collegamenti.
🏗️ Architettura Sistema
Design architetturale, flusso dati e interazioni tra componenti
Architettura Three-Tier
CRO adotta un'architettura three-tier (presentazione, logica, dati) completamente client-side per massimizzare performance e ridurre latenza. Non richiede server backend per operazioni ordinarie.
HTML5 + CSS3 + Leaflet.js
JavaScript ES6+ • Dijkstra Engine • Validation
JSON Database • localStorage • IndexedDB
Flusso Dati Operativo
Workflow tipico di una ricerca percorsi:
- Input Utente → Form "Ricerca Percorsi" con selezione A/Z e vincoli
- Validazione Input → Controllo esistenza centrali, coerenza vincoli, range valori
- Preprocessing → Costruzione grafo di rete da database, applicazione filtri stato
- Algoritmo Dijkstra → Calcolo K-shortest paths (K=30) con vincoli attivi
- Path Diversification → Calcolo 10 percorsi Div con overlap <30% rispetto a 1.1
- Postprocessing → Eliminazione duplicati, ordinamento distanza, aggregazione metadati
- Rendering Risultati → Popolamento tabelle HTML, disegno percorsi su mappa
- User Interaction → Selezione percorsi, zoom mappa, export TXT/CSV
Gestione Stato Applicazione
Lo stato applicativo è gestito tramite pattern Observable con listeners su eventi DOM. Variabili globali di stato includono:
| Variabile | Tipo | Descrizione |
|---|---|---|
LINKS |
Array | Database collegamenti (5.700+ records) |
NODES |
Array | Database centrali (500+ records) |
currentRoutes |
Array | Percorsi calcolati (Std + Div) |
selectedRoutes |
Set | Percorsi selezionati per export |
mapInstance |
Leaflet.Map | Istanza mappa interattiva |
routeLayers |
Map | Layer mappa per percorsi disegnati |
searchHistory |
Array | Storico ricerche per undo/redo |
Sicurezza e Validazione
Meccanismi di sicurezza implementati:
- Input Sanitization - Escape caratteri speciali, validazione range numerici
- SQL Injection Prevention - N/A (no backend SQL, solo JSON client-side)
- XSS Protection - textContent invece di innerHTML per user input
- CSRF Protection - N/A (applicazione stateless senza autenticazione)
- Rate Limiting - Throttling ricerche (max 1/secondo) per prevenire abuse
- Data Validation - Schema validation per tutti i record database
Scalabilità e Performance
Ottimizzazioni implementate per performance:
- Lazy Loading - Caricamento progressivo database (chunk 1000 records)
- Memoization - Cache risultati Dijkstra per query ripetute
- Web Workers - Calcolo percorsi in background thread (opzionale)
- Virtual Scrolling - Rendering only visible rows in tabelle (>1000 items)
- IndexedDB - Persistenza locale per offline mode (future release)
- Service Workers - PWA capabilities per caching aggressivo (roadmap)
⚡ Funzionalità Principali
Overview delle capacità del sistema e modalità operative
1. Algoritmo Dijkstra Vincolato
Motore di calcolo basato su algoritmo Dijkstra con estensioni proprietarie per la gestione di vincoli avanzati di rete. Supporta il calcolo parallelo fino a 300 percorsi primari (Std) (default 30), ottimizzati per distanza minima, e fino a 10 percorsi alternativi diversificati (Div) con overlap massimo configurabile.
- Centrali obbligatorie (selezione multipla)
- Centrali da evitare (blacklist)
- Vincoli di distanza minima e massima (km)
- Numero minimo e massimo di collegamenti (hop count)
- Filtro "Solo Collegamenti NON ATTIVI" per analisi su tratte dismesse o pianificate
- Eliminazione intelligente dei percorsi duplicati
- Validazione topologica in tempo reale dei risultati
2. Database Enterprise RC Italia
Repository con 500+ centrali e metadati completi. Funzionalità:
- Ricerca case-insensitive su ID, GAT, CLLI, Nome
- Filtri per Zona (NORD/CENTRO/SUD), Area, Regione
- Personalizzazione colonne visualizzate
- Export CSV con encoding UTF-8 BOM
- Selezione multipla per operazioni batch
3. Geocodifica & Centrale più Vicina
Conversione automatica indirizzo → coordinate WGS84 tramite Nominatim API OpenStreetMap. Algoritmo Haversine per calcolo distanze ortodromiche. Identificazione automatica della centrale più vicina con indicatore permanente sulla mappa.
4. Mappa Topografica Interattiva
Visualizzazione con Leaflet.js e auto-inizializzazione. Features:
- Overlay percorsi con codifica colori (primari blu, alternativi arancione)
- Layer control per gestione visibilità
- Misurazione distanze tra due punti (attivabile)
- Zoom automatico su selezione o intera rete
- Highlight mode per evidenziare percorsi specifici
5. Calcolo Attenuazione ITU-T
Stima professionale perdite in fibra ottica secondo standard ITU-T. Layout ottimizzato a 2 colonne:
- Colonna Sinistra: Form input (tipo fibra, lunghezza, collegamenti) + risultato stile "Riepilogo Economico" con tabella dettagliata
- Colonna Destra: Legenda con formula ITU-T, tabella coefficienti α (dB/km), note connettorizzazioni, esempio pratico
- Multimodale (MM): 850 nm (α=3.0 dB/km), 1300 nm (α=1.0 dB/km)
- Monomodale (SM): 1310 nm (α=0.35 dB/km), 1550 nm (α=0.22 dB/km)
- Calcolo perdite connettorizzazioni (0.3 dB cadauna, 2 per bretella)
- Output formattato: tipo fibra, km, collegamenti, perdita fibra, perdita connettori, totale dB
6. Sistema Undo Intelligente
Cronologia automatica delle ultime 20 ricerche con salvataggio completo parametri. Ripristino istantaneo con un click. Persistenza in localStorage tra sessioni browser. Risparmio stimato: da 5 minuti a 5 secondi!
7. Export Multi-formato
Export percorsi in formato TXT (percorsi Std e Div separati) e CSV per elaborazioni Excel. Bottone "Copia Formattata" per clipboard. Output CR/GI ready.
8. Analisi Costi per Fattibilità
Modulo dedicato alla stima dei costi associati a Link, Code Cliente e Apparati/Cestelli. Features:
- Riepilogo economico calcolato in tempo reale
- Selezione multipla su tre pannelli: Link RA/RC, Coda Cliente, Apparati
- Visualizzazione costi con e senza sconto
- Export riepilogo in formato TXT
9. Dashboard S.d.F. Internalizzati
Sistema completo di monitoraggio e analisi delle Schede di Fattibilità Internalizzate (Retail & Wholesale) con dashboard interattiva:
- Caricamento Excel: import file "SDF internalizzati" esportato dai sistemi di riferimento, elaborazione locale nel browser
- 8 KPI Real-time: S.d.F. Assegnati, Completati, Da Lavorare, Annullati, Retail, Wholesale, Interventi Dimensionali, Interventi Infrastrutturali
- 6 Grafici Interattivi: distribuzione per Stato, Tipo, Priorità, Territorio, Esito, Scadenze
- Filtri Avanzati: ricerca testuale su Fattibilità/Cliente/Note, filtri dropdown per Tipo/Esito/Priorità/Territorio
- Toggle "Solo entro 7 giorni": evidenzia le pratiche con scadenza imminente
- Tabella Dettagliata: 16 colonne con ordinamento dinamico e highlight scadenze
- Colonne disponibili: Fattibilità, Descrizione/Cliente, Tipo, Priorità, Data Scadenza, Lavorante, Territorio, Provincia, Comune, Data em@il, Data Esito, Esito, Interventi Dimensionali, Interventi Infrastrutturali, Data Accettazione Cliente, Note
- Reset completo: pulsante per azzerare dashboard, filtri e grafici
Utilizza il filtro "Solo entro 7 giorni" per identificare rapidamente le pratiche in scadenza e pianificare le priorità di lavorazione. I grafici si aggiornano automaticamente in base ai filtri applicati.
10. Confronto DB Excel & Verifica GAT
Tool avanzato per verifica allineamento tra due versioni di database Excel con controllo specifico delle centrali GAT_A/GAT_Z:
- Confronto celle: analisi foglio per foglio, cella per cella, con identificazione precisa delle differenze
- Report TXT: export dettagliato delle differenze con coordinate riga/colonna/foglio
- Export JSON: conversione del primo foglio del DB nuovo in formato JSON standard
- Statistiche real-time: fogli confrontati, celle analizzate, differenze trovate, fogli esclusivi
- 🔎 Verifica GAT (RA/RC): controllo specifico che tutte le centrali GAT_A e GAT_Z del file VECCHIO siano presenti nel file NUOVO
- Fogli analizzati: per RA verifica il foglio
archi, per RC verifica il fogliocollegamenti - Report anomalie: identifica centrali mancanti o con dati non allineati tra le due versioni
- Auto-detection tipo file: riconosce automaticamente se il DB caricato è RA, RC o entrambi
Prima di aggiornare il DB in produzione, utilizza sempre il Confronto DB Excel per verificare che non siano state rimosse accidentalmente centrali o collegamenti essenziali. La verifica GAT è particolarmente utile per controllare la consistenza delle centrali di interconnessione.
11. Marker Centrali su Mappa
Visualizzazione delle centrali di inizio e fine per ogni collegamento sulla mappa dei percorsi:
- Marker circolari blu con popup informativo
- Nome Centrale e CLLI visibili al click
- Deduplicazione automatica delle centrali ripetute
- Supporto completo per DB RA e DB RC
12. Filtro POP (NODO A1)
Toggle per filtrare le 32 centrali POP nazionali (NODO A1) come destinazione percorsi:
- Attivabile nei campi "Centrale di Arrivo" di entrambe le sezioni RC e RA
- Lista delle 32 centrali POP: ROMA, MILANO, TORINO, NAPOLI, BOLOGNA, FIRENZE, ecc.
- Match esatto sul CLLI (evita centrali omonime)
- Placeholder dinamico con indicatore visivo rosso quando attivo
13. Colorazione e Conteggio Collegamenti RA
Sistema di colorazione semantica e conteggio personalizzato per i collegamenti RA:
- Verde (T1↔T2, T2↔T2): Collegamenti principali, contano 1 ciascuno
- Blu TIM (T2↔T3): Collegamenti intermedi, contano 0.5 (ogni 2 = 1)
- Standard (T3↔T3): Collegamenti di transito, non contano
- Centrali di partenza e arrivo evidenziate in grassetto
- Percorsi diversificati automatici verso altra Tipo 1 sullo stesso arco
14. Gestione Archi Multipli e Selezione Obbligatoria (RA)
Sistema di rilevamento e gestione quando due centrali appartengono a più archi compatibili:
- Rilevamento automatico: il sistema verifica se le centrali di Partenza e Arrivo sono presenti su più archi
- Mini-label di avviso: quando gli archi compatibili sono multipli, compare il messaggio "⚠️ Più archi compatibili: seleziona 1 arco nella sezione Filtro per Arco per calcolare"
- Selezione obbligatoria: prima di calcolare il percorso, è necessario selezionare un singolo arco dal filtro "🔍 Filtro per Arco (Checkbox)"
- Disambiguazione percorso: la selezione dell'arco determina univocamente il percorso da calcolare lungo quella specifica direttrice
- Bottone [Premi Qui]: se una centrale appartiene a più archi, appare un bottone per visualizzare la lista completa degli archi
Se selezioni AVEZZANO come Partenza e L'AQUILA come Arrivo, ed entrambe appartengono sia all'arco AM_arco_xxx
che a AM_arco_yyy, il sistema ti chiederà di scegliere quale arco utilizzare prima di calcolare il percorso.
15. Ricerca Multi-Path (RA)
Funzionalità avanzata per calcolare tutti i percorsi su tutti gli archi compatibili tra due centrali:
- 🔀 Multi-Path: bottone dedicato che calcola contemporaneamente i percorsi Std su ogni arco condiviso tra Partenza e Arrivo
- Tabella risultati estesa: mostra una riga per ogni arco con colonna dedicata "🔗 Arco" che identifica l'arco di appartenenza
- Percorsi Div per arco: ogni riga ha un bottone "▶ Percorso Div" per calcolare il percorso diversificato specifico per quell'arco
- Visualizzazione mappa singola: bottone "🗺️" per visualizzare sulla mappa il singolo percorso di un arco specifico
- Mappa Multi-Path: visualizza tutti i percorsi di tutti gli archi sulla stessa mappa per un confronto visivo immediato
- Export TXT Multi-Path: esporta tutti i percorsi con indicazione dell'arco di appartenenza e eventuale Div calcolato
Ideale quando devi confrontare rapidamente tutte le opzioni di instradamento tra due centrali che appartengono a più archi. Invece di selezionare un arco alla volta, ottieni una vista d'insieme immediata con distanze, collegamenti e possibilità di diversificazione per ogni arco.
16. Ricerca Percorso Unificato (RA + RC)
Tab dedicato alla ricerca percorsi attraverso entrambe le reti RA e RC in modo integrato:
- 📍 Posizione Cliente: geocodifica indirizzi e trova automaticamente la centrale più vicina (RA o RC)
- 🔎 Trova Centrale Vicina: cerca nelle reti RA (Tipo 1/2) e RC simultaneamente usando algoritmo Haversine
- 🚀/🏁 Inserisci Partenza/Arrivo: toggle per scegliere dove inserire la centrale trovata
- 👥 Modalità Cliente SedeA → Rete → SedeZ: inserendo coordinate di due clienti, trova automaticamente le centrali più vicine e calcola il percorso ottimale
- 🔗 Interconnessione RA↔RC: avviene automaticamente sui nodi con stesso CLLI (tipicamente [T1]/NODO A1)
- Mix RA/RC: la colonna "Mix" nei risultati mostra la composizione del percorso (es. RA:3 • RC:2)
- 🔵 Filtro POP: filtra solo le centrali NODO A1 come destinazione
Tipo 1 [T1] = HUB RA+RC (NODO A1, interconnesso con Rete Core) • Tipo 2 [T2] = HUB RA (aggrega traffico verso T1) • Tipo 3 [T3] = Passaggio (solo transito, non selezionabile come endpoint)
17. Memo e Promemoria S.d.F.
Sistema completo per la gestione dei promemoria associati alle Schede di Fattibilità:
- 📝 Bottone Header: accesso rapido al pannello Memo dal bottone 📝 nell'header della pagina
- Badge Contatore: mostra il numero di memo attivi direttamente sul bottone
- 👤 Colonna Cliente: visualizzazione del cliente nella tabella memo
- Memo Manuali: creazione di promemoria personalizzati con tutti i campi modificabili
- Import da S.d.F.: importazione memo direttamente dalla tabella S.d.F. Internalizzati con tutti i campi precompilati (incluso Cliente, Lavorante, Territorio, ecc.)
- Alert Scadenze: configurazione alert da 0 a 30 giorni prima della scadenza
- Campi Memo: Fattibilità, Cliente, Data Scadenza, Note, Alert, Esito, Tipo, Priorità
- Gestione Completa: modifica, elimina, cerca memo esistenti
- Export CSV: esportazione di tutti i memo in formato CSV
- 📊 Export Excel "Diario Lavoro": esportazione in formato Excel con:
- Fogli separati per ogni lavorante
- Formule automatiche per data e numero settimana
- Larghezza colonne auto-fit, bordi minimal
- Colonne CLIENTE e NOTE: 400px con word wrap
- Colonne: ID, Date, Esito, Fattibilità, Tipo, Territorio, Provincia, Comune, Cliente, Interventi, Priorità, Note
- Persistenza: i memo sono salvati in localStorage e persistono tra le sessioni
- Distinzione Importati/Manuali: i memo importati hanno alcuni campi bloccati, quelli manuali sono completamente modificabili
1. Carica il file Excel nel tab "Dashboard S.d.F. Internalizzati" • 2. Seleziona le S.d.F. da monitorare nella tabella dettaglio • 3. Clicca "📝 Aggiungi a Memo" per importarle • 4. Configura gli alert personalizzati per ogni memo • 5. Usa "📊 Export Excel" per generare il Diario Lavoro con fogli per lavorante
18. Filtri Stati Collegamenti
Pannello espandibile per filtrare i percorsi in base allo stato dei collegamenti:
- 🔽 Bottone Filtri Stati: toggle per aprire/chiudere il pannello filtri in ogni tab (RC, RA, Unificato)
- Filtri RA: Attivo, Non Attivo [DA VERIFICARE SU NNI], In Attivazione, Da Verificare su NNI (4 stati)
- Filtri RC: Attivo, Non Attivo, In Attivazione, In Variazione, In Reinstradamento (5 stati)
- Applicazione istantanea: i filtri si applicano in tempo reale ai risultati della ricerca
- Persistenza scope: i filtri selezionati sono separati per ogni tab e vengono ricordati
19. Comparatore a 3 Percorsi
Sistema avanzato per confrontare visivamente fino a 3 percorsi affiancati:
- ⚖️ Bottone Confronta: attiva il comparatore quando sono disponibili almeno 2 percorsi
- Selettori colorati: 🔵 Percorso A (blu), 🔴 Percorso B (rosso), 🟢 Percorso C (verde)
- Metriche confrontate: distanza km, numero hop, lista collegamenti con stato colorato
- Formato percorso: Nome (CLLI) [TipoSede] :RA: oppure Nome (CLLI) :RC:
- Overlap %: calcolo automatico della percentuale di sovrapposizione tra percorsi
- Evidenziazione: il percorso migliore/peggiore per ogni metrica viene evidenziato
- Titolo dinamico: mostra centrali partenza→arrivo con CLLI e TipoSede
20. Condivisione Ricerche
Funzionalità per generare e condividere link con parametri di ricerca preconfigurati:
- 🔗 Bottone Condividi: genera un codice/link condivisibile con tutti i parametri attuali
- Parametri inclusi: centrali partenza/arrivo, filtri, vincoli obbligatori/evitare
- Toggle comportamento: clic ripetuto chiude il pannello di condivisione
- Auto-chiusura: il pannello si chiude automaticamente dopo 10 secondi
- Copia clipboard: bottone per copiare il codice negli appunti
21. Dark Mode Completo
Modalità scura completa per ridurre l'affaticamento visivo in ambienti con poca luce:
- 🌙 Toggle Header: pulsante nell'header per attivare/disattivare la modalità scura
- 21+ elementi corretti: popup, tabelle, card, form, cronologia, paginazione
- Persistenza: la preferenza viene salvata e ricordata tra le sessioni
- Box colorati preservati: i box nella documentazione mantengono i colori originali
- Blocchi codice: testo bianco su sfondo scuro per leggibilità ottimale
22. Calendario Memo con Scadenze
Visualizzazione calendario interattivo delle scadenze nel popup Memo:
- 📅 Tab Calendario: secondo tab nel popup Memo per vista calendario mensile
- Navigazione mesi: bottoni ◀ ▶ per navigare tra i mesi, bottone "Oggi" per tornare alla data corrente
- Evidenziazione scadenze: i giorni con scadenze sono evidenziati in giallo, quelli urgenti in rosso
- Badge contatore: ogni giorno mostra il numero di scadenze presenti
- Dettaglio scadenze: cliccando su un giorno, mostra l'elenco delle S.d.F. in scadenza
- Layout ottimizzato: calendario fisso in alto, lista scadenze scrollabile sotto
- Popup adattivo: il popup è più alto (95vh) quando nel tab Calendario
🧮 Algoritmi Dettagliati
Implementazione tecnica degli algoritmi di routing e ottimizzazione
Algoritmo Dijkstra Modificato
Il core di CRO utilizza una variante ottimizzata dell'algoritmo di Dijkstra per trovare i K-shortest paths (K=30) in un grafo pesato rappresentante la rete RC Italia.
- Tempo: O(K × (|E| + |V|log|V|)) dove K=30, |E|=5700, |V|=500
- Spazio: O(|V| + |E|) = O(6200) ~ 6KB per grafo in memoria
- Performance reale: ~200ms su Chrome/Firefox, ~150ms su Safari
Pseudocodice Dijkstra con Vincoli
function dijkstraWithConstraints(graph, start, end, constraints):
// Inizializzazione
distances = Map() // distanza minima da start
previous = Map() // nodo predecessore
pqueue = PriorityQueue() // coda priorità (min-heap)
// Imposta distanze iniziali
for each node in graph.nodes:
distances[node] = INFINITY
previous[node] = NULL
distances[start] = 0
pqueue.push(start, 0)
while pqueue is not empty:
current = pqueue.pop()
if current == end:
break // Percorso trovato
for each neighbor in graph.neighbors(current):
// Applica vincoli
if isBlacklisted(neighbor, constraints):
continue
if !meetsConstraints(neighbor, constraints):
continue
// Calcola distanza attraverso current
alt = distances[current] + graph.weight(current, neighbor)
if alt < distances[neighbor]:
distances[neighbor] = alt
previous[neighbor] = current
pqueue.push(neighbor, alt)
// Ricostruisci percorso
return reconstructPath(previous, start, end)
Algoritmo Path Diversification (Div)
Per calcolare i 10 percorsi alternativi diversificati (Div), CRO implementa un algoritmo di penalizzazione archi per garantire overlap massimo 30% rispetto al percorso primario 1.1.
Per ogni percorso alternativo, gli archi già utilizzati nel percorso 1.1 ricevono una penalità moltiplicativa di 10x sul peso. Questo forza Dijkstra a esplorare percorsi fisicamente diversi pur mantenendo ottimizzazione distanza. L'overlap è validato post-calcolo: se >30%, il percorso è scartato.
function calculateDiversifiedPaths(graph, start, end, primaryPath):
diversifiedPaths = []
primaryEdges = Set(primaryPath.edges)
for i = 1 to 10:
// Penalizza archi del percorso primario
tempGraph = graph.clone()
for each edge in primaryEdges:
tempGraph.weight(edge) *= 10
// Calcola percorso alternativo
altPath = dijkstra(tempGraph, start, end)
// Valida overlap
overlap = calculateOverlap(altPath, primaryPath)
if overlap <= 0.30:
diversifiedPaths.push(altPath)
// Aggiungi archi di altPath al set di penalizzazione
primaryEdges.addAll(altPath.edges)
if diversifiedPaths.length >= 10:
break
return diversifiedPaths
Validazione Topologica
CRO esegue validazioni automatiche su ogni percorso calcolato:
- Connessione Fisica - Ogni hop deve essere un collegamento esistente in LINKS
- Rispetto Vincoli - Centrali obbligatorie presenti, blacklist rispettate
- Range Distanza - Distanza totale tra min/max specificati
- Range Collegamenti - Numero hop tra min/max specificati
- Stato Collegamenti - Se "Solo NON ATTIVI" attivo, tutti gli hop devono essere NON_ATTIVO
- Tipo Centrali - Validazione sequenze Tipo 1 ↔ Tipo 2 (Tipo 3 trasparente)
- No Loops - Nessuna centrale visitata più volte nel percorso
Eliminazione Duplicati
Percorsi identici (stessa sequenza centrali) vengono eliminati tramite hash-based deduplication.
Hash calcolato: SHA256(centrali.join('-')). Complessità: O(N) con N=numero percorsi.
🗄️ Database Schema
Struttura dati, relazioni e indicizzazione del repository RC Italia
Schema Centrali (NODES)
Ogni centrale è rappresentata da un oggetto JSON con i seguenti campi:
| Campo | Tipo | Descrizione | Esempio |
|---|---|---|---|
GAT_A / GAT_Z |
String | Nome completo centrale | "PESCARA" |
CLLI_A / CLLI_Z |
String | Common Language Location ID (ITU-T) | "PESCITAL" |
Lat_GAT_A / Lat_GAT_Z |
Number | Latitudine WGS84 (6 decimali) | 41.891234 |
Lon_GAT_A / Lon_GAT_Z |
Number | Longitudine WGS84 (6 decimali) | 12.512345 |
Zona |
String | Zona amministrativa | RC > "RM" • RA > "RMLO" |
Area |
Enum | Macro-area | "CENTRO" |
Regione |
String | Regione italiana | "Lazio" |
TipoSedeA / TipoSedeZ |
Enum | Classificazione centrale | RC > N/D • RA > "Tipo 1", "Tipo 2", "Tipo 3" |
Schema Collegamenti (LINKS)
Ogni collegamento è rappresentato da un oggetto JSON con i seguenti campi:
| Campo | Tipo | Descrizione | Esempio |
|---|---|---|---|
IdCollegamento |
String/Number | Identificativo univoco collegamento | RC > "CAM001" • RA > "AM_arco_101|AM_12|AAM003/1|1" |
CLLI_A |
String | ID centrale di partenza | RC > "PESCITAL" • RA > "ATRIITAE" |
CLLI_Z |
String | ID centrale di arrivo | RC > "PESCITAK" • RA > "SILVITAC" |
GAT_A |
String | Nome centrale origine | RC > "PESCARA" • RA > "PESCARA TIBURTINA" |
GAT_Z |
String | Nome centrale destinazione | RC > "ATRI 2" • RA > "PINETO" |
Distanza_km |
Number | Distanza in km (2 decimali) | RC > "3.07" • RA > "11.69" |
Stato_IdCollegamento |
Enum | Stato operativo | RC > "NON ATTIVO" • RA > "ATTIVO" |
Zona |
String | Zona amministrativa | RC > "AM" • RA > "AM" |
Arco |
String | Segmento rete/dorsale | RC > N/D • RA > "AM_arco_101" |
Prog (Ramo/Arco) |
String | Progressivo di rete | RC > N/D • RA > "1" |
Relazioni e Integrità Referenziale
Relazioni implementate:
- LINKS.from → NODES.id (foreign key)
- LINKS.to → NODES.id (foreign key)
- Validazione: Al caricamento, tutti i from/to devono esistere in NODES
- Cascading: Non applicabile (database read-only in produzione)
Indicizzazione e Performance
Indici creati per query ottimali:
| Indice | Campi | Tipo | Use Case |
|---|---|---|---|
| PRIMARY_NODES | id | Hash | Lookup O(1) per ID centrale |
| PRIMARY_LINKS | id | Hash | Lookup O(1) per ID collegamento |
| IDX_NODES_NAME | name | B-Tree | Ricerca per nome O(log N) |
| IDX_NODES_CLLI | clli | Hash | Ricerca per CLLI O(1) |
| IDX_LINKS_FROM | from | Hash | Query neighbors O(1) |
| IDX_LINKS_TO | to | Hash | Query incoming links O(1) |
| IDX_LINKS_STATO | stato | Bitmap | Filtro per stato O(1) |
Formato Storage JSON
Esempio record completo:
"NODES" e "LINKS"
Estratti dal DA RA e DB RC
var RAW_DB = [
{
"IdCollegamento": "CAM001",
"DR": NaN,
"Vendor": "HUAWEI",
"GAT_A": "PESCARA",
"CLLI_A": "PESCITAL",
"TipoSedeA": NaN,
"Lat_GAT_A": 42.468478,
"Lon_GAT_A": 14.209443,
"GAT_Z": "PESCARA TIBURTINA",
"CLLI_Z": "PESCITAK",
"TipoSedeZ": "-",
"Lat_GAT_Z": 42.451796,
"Lon_GAT_Z": 14.202591,
"Distanza_km": 3.07,
"Zona": "AM",
"Regione": "Abruzzo + Molise",
"Area": "CENTRO",
"Tipo": "-",
"TipoPortante": "DWDM",
"IdCavo": "-",
"SubPath": "-",
"Stato_IdCollegamento": "NON ATTIVO",
"Note": "-"
}
....
var RAW_DB_RA = [
{
"IdCollegamento": "AM_arco_101|AM_12|AAM003/1|1",
"DR": "AM",
"Vendor": "HUAWEI",
"GAT_A": "ATRI 2",
"CLLI_A": "ATRIITAE",
"TipoSedeA": 2,
"Lat_GAT_A": "42.578437",
"Lon_GAT_A": "13.983768",
"GAT_Z": "PINETO",
"CLLI_Z": "SILVITAC",
"TipoSedeZ": 2,
"Lat_GAT_Z": "42.608746",
"Lon_GAT_Z": "14.063255",
"Distanza_km": 11.69,
"Zona": "AM",
"Regione": "Abruzzo / Molise",
"Area": "CENTRO",
"Tipo": "S",
"TipoPortante": "C-FOS",
"IdCavo": "ATRIITAE/SILVITAC/C-FOS/00001",
"SubPath": "AAM003/1",
"Stato_IdCollegamento": "ATTIVO",
"Note": null,
"IdCollegamento (Ramo)": "AM_12",
"Arco": "AM_arco_101",
"Prog (Ramo/Arco)": 1
}
....
🔌 API Reference
Funzioni JavaScript pubbliche e interfacce programmabili
Funzioni Core di Routing
runBaseRoutesSearch()
Descrizione: Esegue ricerca percorsi con parametri da form
Parametri: Nessuno (legge da DOM)
Return: void (aggiorna UI con risultati)
Side Effects: Popola variabile globale currentRoutes
// Esempio uso
document.getElementById('btn-search').onclick = runBaseRoutesSearch;
calculateShortestPath(startId, endId, constraints)
Descrizione: Calcola singolo percorso shortest path
Parametri:
startId(String) - ID centrale partenzaendId(String) - ID centrale arrivoconstraints(Object) - Vincoli opzionali
Return: Object {path: Array, distance: Number, hops: Number}
// Esempio uso
const result = calculateShortestPath('ROMA001', 'MILANO001', {
mandatory: ['FIRENZE001'],
blacklist: ['BOLOGNA001'],
maxDistance: 600
});
console.log(result.path); // ['ROMA001', 'FIRENZE001', 'MILANO001']
Funzioni Database
searchNodes(query)
Descrizione: Ricerca centrali per ID/Nome/CLLI
Parametri: query (String) - Termine di ricerca
Return: Array di oggetti Node
// Esempio uso
const results = searchNodes('ROMA');
results.forEach(node => console.log(node.name));
getNodeById(id)
Descrizione: Recupera centrale per ID
Parametri: id (String) - ID centrale
Return: Object Node o null
Complessità: O(1) tramite hash map
Funzioni Mappa
drawRouteOnMap(route, color)
Descrizione: Disegna percorso su mappa Leaflet
Parametri:
route(Array) - Array di ID centralicolor(String) - Colore linea (hex/nome)
Return: Leaflet.Polyline object
// Esempio uso
const polyline = drawRouteOnMap(['ROMA001', 'FIRENZE001'], '#0066CC');
polyline.bindPopup('Percorso ROMA-FIRENZE');
Funzioni Export
exportRoutesTxt(routes)
Descrizione: Genera export TXT formattato
Parametri: routes (Array) - Array di oggetti Route
Return: String (contenuto file TXT)
Formato: CR/GI compliant con intestazioni
Eventi e Callbacks
| Evento | Trigger | Payload |
|---|---|---|
routes:calculated |
Calcolo percorsi completato | {routes: Array, time: Number} |
route:selected |
Click su riga percorso | {routeId: String, route: Object} |
map:ready |
Inizializzazione mappa completa | {mapInstance: Leaflet.Map} |
database:loaded |
Caricamento database completato | {nodes: Number, links: Number} |
🔧 Troubleshooting Avanzato
Guida alla risoluzione problemi, error codes e debug workflow
Catalogo Error Codes
| Codice | Messaggio | Causa | Soluzione |
|---|---|---|---|
ERR_001 |
Centrale non trovata | ID inesistente in database | Verificare ID in tab Database |
ERR_002 |
Nessun percorso trovato | Vincoli troppo restrittivi / Rete disconnessa | Ridurre vincoli o verificare connettività |
ERR_003 |
Distanza fuori range | Min > Max in vincoli distanza | Correggere range min/max |
ERR_004 |
Centrale start = end | Stessa centrale per A e Z | Selezionare centrali diverse |
ERR_005 |
Timeout calcolo | Calcolo > 30 secondi | Semplificare vincoli o ricaricare pagina |
ERR_006 |
Mappa non caricata | Tiles OSM non disponibili | Verificare connessione internet |
ERR_007 |
Export fallito | Browser block download/clipboard | Permettere download nei settings browser |
Debug Workflow Step-by-Step
- Step 1: Verifica esistenza centrali in Database
- Step 2: Controlla vincoli distanza min/max (non troppo restrittivi?)
- Step 3: Verifica blacklist (non stai bloccando tutte le vie?)
- Step 4: Controlla filtro "Solo NON ATTIVI" (deseleziona se non necessario)
- Step 5: Prova con percorso semplice senza vincoli per testare connettività
- Step 6: Se persiste, probabile rete disconnessa tra A e Z
- Step 1: Chiudi tab browser non utilizzati (libera RAM)
- Step 2: Ricarica pagina CRO (clear state)
- Step 3: Riduci numero percorsi da 30 a 10 (modifica codice)
- Step 4: Disabilita rendering mappa durante calcolo
- Step 5: Usa browser moderno (Chrome/Firefox > Edge/Safari)
- Step 6: Controlla Task Manager: CPU/RAM disponibili?
Log Analysis
Console Browser - Messaggi Chiave da Monitorare:
// Log successo
[CRO] Database caricato: 500 centrali, 5700 collegamenti
[CRO] Calcolo completato in 187ms: 30 percorsi trovati
// Log warning
[CRO] Warning: Blacklist contiene 50% centrali - percorsi limitati
[CRO] Warning: Timeout OSRM - routing stradale non disponibile
// Log errore
[CRO] Error ERR_002: Nessun percorso tra ROMA001 e ISOLA_X
[CRO] Error: Mappa non inizializzata - retry in 2s
Problemi Comuni e Fix Rapidi
Fix: Controlla popup blocker browser. Prova tasto destro → "Salva con nome" sul link generato.
Fix: Verifica connessione internet. OpenStreetMap tiles richiede connessione attiva. No offline mode.
Fix: localStorage pieno (max 5MB). Clear con F12 → Application → Storage → Clear all.
Fix: Controlla coordinate inserite (WGS84 required). Lat 35-47, Lon 6-19 per Italia.
⚡ Performance Tuning
Ottimizzazioni, benchmark e best practices per massime prestazioni
Benchmark Reference
Tempi medi su hardware standard (Intel i5, 8GB RAM, Chrome):
| Operazione | Tempo Medio | Worst Case | Best Case |
|---|---|---|---|
| Caricamento Database | 150ms | 300ms | 80ms |
| Calcolo 30 Percorsi | 200ms | 800ms | 120ms |
| Rendering Mappa (30 routes) | 400ms | 1200ms | 250ms |
| Export TXT | 50ms | 150ms | 20ms |
| Ricerca Database | 5ms | 20ms | 1ms |
| Geocoding Indirizzo | 500ms | 3000ms | 200ms |
Ottimizzazioni Implementate
Database caricato progressivamente in chunk da 1000 records. Interfaccia disponibile immediatamente, popolamento database in background. Risparmio: 80% perceived load time.
Cache dei risultati Dijkstra per query identiche. Hash basato su (start, end, constraints). Hit rate: 35% su utilizzo tipico. Risparmio: 200ms per hit.
Rendering solo righe visibili in viewport. Per tabelle >1000 righe. Risparmio: 90% DOM nodes, 70% render time.
Search input con debounce 300ms. Previene ricerche continue durante digitazione. Riduzione: 80% query inutili.
Best Practices Utilizzo
- Chiudi tab non utilizzati - CRO usa ~150MB RAM, libera risorse
- Usa Chrome o Firefox - Engine JavaScript 20% più veloce di Safari/Edge
- Limita vincoli - Ogni vincolo aggiuntivo aumenta complessità ~15%
- Calcola percorsi in batch - Evita calcoli singoli ripetuti
- Disabilita rendering mappa durante batch - 3x speedup su operazioni massive
- Clear localStorage periodicamente - Ogni 50 ricerche per prevenire slow-down
- Ricarica pagina dopo 100+ operazioni - Memory leaks minimi ma presenti
Configurazioni Avanzate (Sviluppatori)
// File: config.js - Performance Tuning
// Numero max percorsi da calcolare (default: 30)
const MAX_PRIMARY_ROUTES = 30; // Riduci a 10 per +70% speed
// Timeout calcolo (default: 30000ms)
const CALCULATION_TIMEOUT = 30000; // Aumenta se network complex
// Cache size (default: 100)
const CACHE_SIZE = 100; // Aumenta a 500 per +10% hit rate
// Virtual scrolling threshold (default: 1000)
const VIRTUAL_SCROLL_THRESHOLD = 1000; // Riduci a 500 per low-end
// Debounce delay (default: 300ms)
const DEBOUNCE_DELAY = 300; // Riduci a 150ms per UX più reattiva
🔗 Integrazioni
Export formati, tool esterni compatibili e API endpoints
Formati Export Supportati
Descrizione: Formato human-readable CR/GI compliant
Struttura:
PERCORSI PRIMARI (Std):
===================================
1.1 | ROMA SUD → FIRENZE NORD → MILANO CENTRO | 476.32 km | 2 hop
Collegamenti: LINK001, LINK045
ID: ROMA001-FIRENZE001-MILANO001
PERCORSI ALTERNATIVI (Div):
===================================
2.1 | ROMA SUD → BOLOGNA EST → MILANO CENTRO | 512.10 km | 2 hop
Collegamenti: LINK078, LINK123
Overlap: 15%
Encoding: UTF-8 with BOM
Use Case: Report cartacei, email, documentazione
Descrizione: Formato machine-readable per elaborazioni
Schema:
ID,Tipo,Centrali,Collegamenti,Distanza_km,Hop
1.1,Primario,"ROMA SUD|FIRENZE NORD|MILANO","LINK001|LINK045",476.32,2
2.1,Alternativo,"ROMA SUD|BOLOGNA EST|MILANO","LINK078|LINK123",512.10,2
Delimiter: Virgola (,) | Separator interno: Pipe (|)
Use Case: Import Excel, elaborazioni Python, database
Tool Esterni Compatibili
| Tool | Formato | Procedura Import | Use Case |
|---|---|---|---|
| Microsoft Excel | CSV | Data → From Text/CSV → Import | Analisi statistica, pivot tables |
| Python Pandas | CSV | pd.read_csv('routes.csv') |
Machine learning, data science |
| Google Sheets | CSV | File → Import → Upload CSV | Collaborazione team, report online |
| QGIS | JSON + Coordinates | Custom script Python | GIS analysis, mapping avanzato |
| Power BI | CSV | Get Data → Text/CSV | Business intelligence, dashboard |
API Endpoints (Future Release)
Roadmap per integrazione backend:
⏳ Previsto Q2 2026:
POST /api/v1/routes/calculate- Calcolo percorsi via RESTGET /api/v1/database/nodes- Query centraliGET /api/v1/database/links- Query collegamentiPOST /api/v1/export- Export programmato batch
Workflow Integrazione Tipico
- Esegui ricerca percorsi in CRO con vincoli desiderati
- Export CSV → Salva come
routes.csv - Import in Python:
df = pd.read_csv('routes.csv') - Analizza:
df['Distanza_km'].describe() - Visualizza:
df['Distanza_km'].plot.hist() - Report: Generate PDF con matplotlib
📖 Glossario Tecnico
Terminologia DWDM, telecomunicazioni e standard ITU-T
A-D
- Attenuazione (α)
- Perdita di potenza segnale ottico lungo fibra. Unità: dB/km. Valori tipici: 0.22 dB/km @ 1550nm (SM)
- CLLI (Common Language Location Identifier)
- Codice standard ITU-T E.164 per identificazione univoca centrali/siti. Formato: 8-11 caratteri alfanumerici
- CR/GI (Change Request / Gestione Impianti)
- Processi Telecom Italia per richieste modifiche rete e gestione asset infrastrutturali
- Dijkstra
- Algoritmo greedy per shortest path in grafi pesati. Complessità: O(|E| + |V|log|V|) con Fibonacci heap
- DWDM (Dense Wavelength Division Multiplexing)
- Tecnologia multiplexing ottico con 40-80+ canali su singola fibra. Spacing: 50 GHz (ITU-T G.694.1)
E-H
- EDFA (Erbium-Doped Fiber Amplifier)
- Amplificatore ottico per banda C (1530-1565 nm). Gain tipico: 20-30 dB
- GAT
- Codice identificativo interno Telecom Italia per gestione asset territoriali
- Haversine
- Formula trigonometrica per calcolo distanza ortodromica (great-circle) su sfera. Errore <0.5% per distanze <1000 km
- Hop
- Singolo collegamento tra due centrali adiacenti. Count: numero totale collegamenti in un percorso
I-O
- ITU-T (International Telecommunication Union - Telecom)
- Organismo standardizzazione internazionale telecomunicazioni. Standard rilevanti: G.652 (fibra), G.694.1 (DWDM)
- K-Shortest Paths
- Algoritmo per trovare K percorsi più corti (non solo il migliore). CRO: fino a K=300 per primari (default: 30), K=10 per alternativi
- Leaflet
- Libreria JavaScript open-source per mappe interattive. Lightweight (39 KB gzipped)
- Monomodale (SM - Single Mode)
- Fibra ottica con core 9 μm. Per lunghe distanze (>2 km). Bande: O, E, S, C, L
- Nominatim
- Geocoding engine OpenStreetMap. API pubblica con rate limit: 1 req/sec
- Overlap
- Percentuale archi condivisi tra due percorsi. Formula: (Archi_comuni / Archi_totali) × 100
- OSRM (Open Source Routing Machine)
- Engine routing stradale basato su OpenStreetMap. Algoritmo: Contraction Hierarchies
P-Z
- Percorso Primario (Std)
- Percorso ottimizzato per distanza minima senza penalizzazioni. CRO calcola fino a 300 percorsi Std (default: 30)
- Percorso Alternativo (Div)
- Percorso diversificato con overlap <30% vs 1.1. Per ridondanza e disaster recovery
- RA Italia (Rete Aggregation Italia)
- Rete di aggregazione TIM che raccoglie traffico dalle centrali periferiche verso i nodi Core (NODO A1). Struttura gerarchica: Tipo 3 → Tipo 2 → Tipo 1
- RC Italia (Rete Core Italia)
- Backbone nazionale TIM S.p.A. Layer 0/1 (fibra/DWDM) per interconnessione centrali principali. Include 32 NODO A1 (POP nazionali)
- Rete Revolution
- Progetto TIM di evoluzione infrastruttura ottica nazionale. Modernizzazione rete trasporto con tecnologie DWDM di nuova generazione e incremento capacità
- Tipo 1 / Tipo 2 / Tipo 3
- Classificazione centrali TIM. Tipo 1: HUB RA+RC (NODO A1, interconnesso Core). Tipo 2: HUB RA (nodi intermedi). Tipo 3: Passaggio (endpoint/trasparenti)
- WGS84 (World Geodetic System 1984)
- Sistema riferimento geodetico standard GPS. Coordinate: latitudine (-90,+90), longitudine (-180,+180)
Standard ITU-T Riferimento
| Standard | Titolo | Rilevanza CRO |
|---|---|---|
| G.652 | Fibra ottica monomodale standard | Specifiche tecniche fibra utilizzata in RC Italia |
| G.694.1 | DWDM frequency grid | Grid ITU per canali DWDM (50 GHz spacing) |
| G.709 | OTN (Optical Transport Network) | Layer trasporto ottico per backbone |
| E.164 | Numbering plan internazionale | Base per codici CLLI centrali |
🔄 Workflow Operativo (11 Passi)
Procedura standard end-to-end per analisi fattibilità collegamento
- Raccolta requisiti da ticket CR/GI: centrali A-B, vincoli, requisiti di ridondanza
- Verifica esistenza centrali nel database (tab "Database")
- Impostazione filtri geografici (es. solo Area LAZIO per ridurre search space)
- Configurazione vincoli: centrali obbligatorie, centrali da evitare, distanza/hop min-max
- Esecuzione ricerca: click "Avvia Ricerca" → elaborazione 2-10 secondi
- Analisi risultati: confronto distanze, numero hop, percorsi dettagliati nella tabella
- Visualizzazione mappa: click su percorso + "Visualizza su Mappa" per analisi topografica
- Calcolo attenuazione: vai al tab "Calcolo Attenuazione" (menu Analisi Extra), inserisci lunghezza e tipo fibra
- Selezione percorso ottimale: basati su distanza, attenuazione, diversificazione geografica
- Export documentazione: esporta in TXT (allegato tecnico) o CSV (elaborazioni)
- Archiviazione: salva screenshot mappa, allega export a ticket CR/GI, usa Undo per tornare indietro se necessario
🧭 Come funziona la Ricerca Percorsi (RA / RC / UNIFICATO)
Logica di calcolo, regole operative e scenari tipici
Il modulo di Ricerca Percorsi è il motore logico del CRO. Quando selezioni una centrale di Partenza, il tool individua il nodo nel database di riferimento (RA, RC o combinato) e ne memorizza la posizione nel grafo. Quando selezioni la centrale di Arrivo, costruisce dinamicamente il grafo coerente con lo scenario richiesto e calcola il percorso ottimale (distanza minima con tie-break su minor numero di collegamenti).
Ricerca RA
- Usa solo il database RA.
- I nodi T3 sono considerati solo passanti (non selezionabili come endpoint).
- Il risultato privilegia percorsi brevi e “puliti” (meno salti / meno tratte).
Ricerca RC
- Usa solo il database RC.
- Calcola percorso minimo tra nodi RC selezionati.
- Output coerente con logica “core routing” per fattibilità e verifiche rapide.
Ricerca UNIFICATA (RA + RC)
- Costruisce un grafo combinato RA + RC.
- La transizione RA↔RC avviene solo su nodi T1/POP.
- Evita scenari non validi (es. endpoint su T3).
- Restituisce una traccia unica utilizzabile in analisi e documentazione tecnica.
💼 Caso d'Uso Reale: ROMA SUD – ROMA INVIOLATELLA
Esempio pratico di utilizzo con vincoli multipli
Requisito CR/GI: Collegamento ROMA SUD → ROMA INVIOLATELLA con transito per ROMA OSTIENSE.
Procedura:
- Tab "Ricerca Percorsi": inserisci Partenza: "ROMA SUD"
- Inserisci Arrivo: "ROMA INVIOLATELLA"
- In "Centrali Obbligatorie" seleziona: ROMA OSTIENSE
- Opzionale: imposta Distanza Max: 50 km
- Click "Avvia Ricerca"
Risultato atteso:
Il sistema calcola percorsi che DEVONO passare per ROMA OSTIENSE. Ricevi:
- Percorso primario 1.1: ROMA SUD → ROMA OSTIENSE → ROMA INVIOLATELLA
- Percorsi alternativi 2.1, 2.2, ... (se esistono) geograficamente diversificati
- Distanze parziali per ogni hop
- Coordinate WGS84 di ogni centrale attraversata
Verifica attenuazione:
Se il percorso 1.1 è lungo 35 km con 3 collegamenti (6 connettorizzazioni), vai al tab "Calcolo Attenuazione" (menu Analisi Extra):
- Lunghezza tratta: 35 km
- Tipo fibra: SM 1550 nm (α = 0.22 dB/km)
- Collegamenti: 3 (= 6 connettorizzazioni × 0.3 dB)
Risultato: Perdita totale = (35 × 0.22) + (6 × 0.3) = 7.7 + 1.8 = 9.5 dB
Dentro budget tipico OTN (15-20 dB) → ✓ Collegamento FATTIBILE
💡 Tips Professionali
Suggerimenti per ottimizzare l'utilizzo del tool
- Usa filtri geografici (Area/Zona) per ricerche locali → performance x3
- Per percorsi lunghi (>200 km), limita a 15 percorsi invece di 30 → risparmio tempo 50%
- Verifica sempre su mappa la diversificazione geografica dei backup
- Calcola attenuazione prima di confermare fattibilità (non solo distanza!)
- Non usare nomi parziali (es. "ROMA" → 50+ risultati). Usa nome completo o GAT
- Non impostare vincoli impossibili (es. distanza max 10 km se A-B distano 100 km)
- Non inserire 10+ centrali obbligatorie → rallenta calcolo e può dare 0 risultati
- Non modificare CSV export manualmente → rispetta formato colonne
- Usa Undo per testare più configurazioni vincoli in pochi secondi
- Attiva "Solo NON ATTIVI" per analisi manutentive (impatto dismissioni)
- Funzione "Centrale più vicina": inserisci indirizzo se non conosci il nome
- Export CSV: personalizza colonne prima di esportare per ridurre file size
❓ FAQ & Troubleshooting
Risposte alle domande più frequenti
Cause possibili: vincoli troppo restrittivi, centrali obbligatorie non raggiungibili nel percorso A→B,
toggle "Solo NON ATTIVI" attivo ma nessuna tratta disponibile, centrali isolate nel grafo.
Soluzione: Rimuovi vincoli uno alla volta fino a trovare percorsi, poi re-applica graduali.
Causa: Problemi connessione a server Leaflet/OpenStreetMap o blocco CORS.
Soluzione: Verifica connessione internet, disabilita VPN/Proxy, prova browser diverso (Chrome/Edge), ricarica con Ctrl+F5.
Sì, parzialmente. Funzionano offline: ricerca percorsi, database, calcolo attenuazione, export.
NON funzionano offline: mappe (server OSM), geocoding "Centrale più vicina" (API Nominatim).
Invia richiesta al team Network Planning con: nome centrale, codice GAT, coordinate GPS (lat/lon WGS84), zona/area/regione, motivazione. Tempo elaborazione: 1-2 settimane (aggiornamento mensile DB).
🧾 Changelog – ultime revisioni (V30.07 → V16.31)
Sintesi delle modifiche più recenti (focus su integrazione NAT, export Multi-Path, routing completo T3)
V30.07 → V29.16 (Integrazione NAT Italia, Export Multi-Path ottimizzato, Marker centrali)
- 🌍 Integrazione NAT Italia: nuovo bottone "Mappa NAT" per esportare percorsi:
- Disponibile nei tab Ricerca Percorso RA, RC e Unificato
- Esporta percorsi Std, Div e Multi-Path verso NAT Italia
- Trasferimento dati tramite localStorage per integrazione seamless
- Colori TIM: Blu RA, Rosso RC, Viola Unificato
- 🔄 Export Multi-Path Ottimizzato: evita duplicati nell'export:
- Percorsi Multi-Path con arco già presente in Std vengono esclusi
- Log in console per tracciamento percorsi skippati
- Riduce ridondanza nei dati esportati verso NAT
- 📊 Marker Centrali su NAT: visualizzazione completa:
- Marker per tutte le centrali del percorso
- Tooltip formattati secondo standard NAT
- Formato Nome (CLLI) [TipoSede] per RA
- 📝 Note Aggiornate: documentazione delle nuove funzionalità:
- Note su Ricerca Percorso RA, RC e Unificato aggiornate
- Descrizione funzionalità 🌍 Mappa NAT
V29.15 → V29.12 (Scroll to Top automatico, Filtro Arco RA ottimizzato, Bottoni Analisi Rete)
- 📜 Scroll to Top Automatico: implementato scroll automatico all'inizio pagina:
- All'avvio dell'applicazione (sempre dall'alto)
- Al cambio tab (ogni tab parte dall'alto)
- All'apertura di popup/modal (Memo, Alert, ecc.)
- Fix per F5: anche dopo refresh, partenza sempre dall'alto
- 🔗 Filtro Arco RA Ottimizzato: visualizzazione intelligente archi compatibili:
- Quando ci sono più archi compatibili, mostra SOLO quelli selezionabili
- Gli archi non compatibili vengono nascosti automaticamente
- Reset Filtro e Reset Tab ripristinano tutti gli archi visibili
- Migliore user experience nella selezione archi
- 🎨 Bottoni Analisi Rete: stile semplificato senza animazioni:
- Bottoni 🔵 RA, 🔴 RC, 🟣 Unificato senza transform/scale
- Solo cambio colore al hover (niente shadow, translateY, scale)
- Aspetto più sobrio e professionale in linea con altri bottoni
V29.11 → V29.07 (Dark Mode Memo/Alert completo, Filtro IN ATTIVAZIONE RA, Calcolatore fix)
- 🌙 Dark Mode Memo Popup: fix completo per tutti gli elementi:
- Header: sfondo scuro gradient, titolo bianco
- Toolbar: sfondo scuro, contatore blu chiaro
- Tab buttons: sfondo grigio, hover, active blu
- Tabella: sfondo scuro, testo chiaro, hover e selezione
- Form: input/select/textarea con sfondo scuro
- Info campi bloccati: sfondo blu scuro, testo chiaro
- 🌙 Dark Mode Alert Popup: fix per elementi colorati:
- Body e footer con sfondo scuro
- Alert items mantengono sfondi colorati con testo scuro leggibile
- 🌙 Dark Mode Calendario Memo: fix giorni con scadenze:
- Giorni con scadenze: sfondo ambra scuro, testo chiaro
- Giorni urgenti: sfondo rosso scuro, testo chiaro
- Badge contatore con colori visibili
- 🔽 Filtro IN ATTIVAZIONE RA: nuovo toggle nel tab Database:
- Checkbox arancione per stato IN ATTIVAZIONE
- Posizionato dopo NON ATTIVO [DA VERIFICARE SU NNI]
- Logica di filtraggio aggiornata (4 stati totali)
- ⚡ Calcolo Attenuazione: riga PERDITA TOTALE visibile in dark mode:
- Testo blu chiaro (#60a5fa) su sfondo scuro
- Rimossi stili inline conflittuali
- 📋 Menu Analisi: riordinato e pulito:
- Ordine: Costi → Rete → S.d.F. → Confronto DB
- Rimossa icona 🔧 da Analisi Rete
V29.06 (Comparatore Avanzato, Filtri DB RA, Selezione Separata, Dark Mode 21+ fix)
- ⚖️ Comparatore Avanzato: miglioramenti per tutti i tab (RA, RC, UNIFIED):
- Formato percorso: Nome (CLLI) [TipoSede] :RA: oppure Nome (CLLI) :RC:
- Stato collegamenti recuperato da DB RA/RC automaticamente
- Distanza calcolata dalla somma dei weight degli edges
- Transiti RA↔RC mostrati come separatori senza distanza/stato
- Titolo popup con centrali partenza→arrivo e CLLI/TipoSede
- Selettori compatti: 🔵 A: / 🔴 B: / 🟢 C:
- 🗄️ Filtri DB RA Fix: i filtri stati nel tab Database ora funzionano:
- Event listener aggiunti per checkbox filtri RA
- Sincronizzazione filtri quando si cambia scope RA/RC
- Filtri separati per RA (4 stati) e RC (5 stati)
- ✓ Selezione DB Separata: fix selezione multipla:
- Selezioni separate tra DB RA e DB RC
- Bottone aggiornato quando si cambia scope
- Risolto conflitto tra selezioni RA/RC
- 🔗 Toggle Condividi: comportamento migliorato:
- Clic ripetuto chiude il pannello (toggle)
- Auto-chiusura automatica dopo 10 secondi
- 🌙 Dark Mode Completo: fix per 21+ elementi:
- Popup Cronologia Ricerche: dark mode completo
- Tabelle percorsi Div RC: sfondo scuro
- Paginazione Database: bottoni leggibili
- Note ricerca: colori titoli preservati
- Tab Analisi Rete: etichette, tabelle, popup
- Analisi Costi: popup immagini schema
- Calcolo Attenuazione: tabelle coefficienti
- Documentazione: titoli e sezioni
- ✏️ Cursore Nascosto: rimosso cursore testo su aree non editabili
V29.05 (Comparatore 3 Percorsi, Dettaglio Collegamenti, Filtri DB, Layout Bottoni)
- ⚖️ Comparatore a 3 Percorsi: confronto fino a 3 percorsi affiancati:
- Minimo 2 percorsi per l'attivazione, terzo percorso opzionale
- Se disponibili ≥3 percorsi, compare il selettore "Percorso C" (verde)
- Layout dinamico: 2 colonne se 2 percorsi, 3 colonne se 3 percorsi
- Evidenziazione migliore/peggiore su tutti i percorsi confrontati
- 🔌 Dettaglio Collegamenti: nuova sezione nel comparatore:
- Elenco completo dei collegamenti per ogni percorso
- Tre colonne: ID (sinistra), Distanza km (sinistra), Stato (destra)
- Colori stato: Verde (ATTIVO), Rosso (NON ATTIVO), Arancione (IN ATTIVAZIONE), ecc.
- Scroll verticale per elenchi numerosi (max 200px)
- 🗄️ Filtri Database Separati: pannelli filtri stati distinti per DB RA e RC nel tab Database:
- DB RA: ATTIVO, NON ATTIVO [DA VERIFICARE SU NNI], IN ATTIVAZIONE, DA VERIFICARE SU NNI (4 stati)
- DB RC: ATTIVO, NON ATTIVO, IN ATTIVAZIONE, IN VARIAZIONE, IN REINSTRADAMENTO (5 stati)
- Pannelli si alternano automaticamente al cambio scope RA/RC
- 🎨 Layout Bottoni Sistemato: corretta sovrapposizione bottoni nei tab RC e Unificato
- 📋 Popup Cronologia: ripristinata altezza normale (max 85vh invece di 97vh)
V29.04 (Analisi Rete, Filtri Stati, Dark Mode, Calendario Memo, Comparatore, Condivisione)
- 🔧 Nuova Tab "Analisi Rete": nuovo strumento nel menu Analisi per ricerca avanzata:
- Ricerca per ID Collegamento: trova tutti i percorsi che attraversano un collegamento
- Analisi Impatto (What-If): simula cosa accade se un collegamento va in manutenzione
- Toggle database RA / RC / Unificato con colori TIM
- Tabella risultati con statistiche e export TXT
- Popup Dettaglio Percorso allargato (+30%)
- 🔽 Filtri Stati Avanzati: pannello espandibile per filtrare i collegamenti per stato:
- Disponibile in Ricerca Percorso RA, RC e Unificato
- RA: ATTIVO, NON ATTIVO [DA VERIFICARE SU NNI], DA VERIFICARE SU NNI
- RC: ATTIVO, NON ATTIVO, IN ATTIVAZIONE, IN VARIAZIONE, IN REINSTRADAMENTO
- Unificato: filtri separati per RA (3) e RC (5) con contatore combinato
- Bottoni "Tutti" e "Nessuno" per selezione rapida
- Pannelli chiusi di default per UI pulita
- 🌙 Dark Mode: nuova modalità scura con toggle nell'header, preferenza salvata in localStorage
- 📅 Calendario Mini nel Memo: visualizzazione calendario con evidenziazione scadenze e navigazione mensile
- ⚖️ Comparatore Percorsi (Nuova Feature): confronto side-by-side di due percorsi:
- Selettori dropdown per scegliere i percorsi da confrontare
- Visualizzazione affiancata con metriche: distanza, hop, centrali
- Evidenziazione automatica valori migliori/peggiori (verde/rosso)
- Disponibile per RC, RA e Unificato
- 🔗 Condivisione Parametri (Nuova Feature): genera codice condivisibile per i parametri di ricerca:
- Codifica tutti i parametri (partenze, arrivi, filtri, vincoli)
- Codice compatto da copiare e condividere
- Funzione "Carica Codice" per ripristinare i parametri
- Disponibile per RC, RA e Unificato
- 🎨 Miglioramenti UI: bottoni scope toggle con effetto visivo marcato, layout ottimizzato per Unificato
V29.03 → V29.02 (Export Excel "Diario Lavoro", Colonna Cliente, Dati Aggiuntivi)
- 📊 Export Excel "Diario Lavoro S.d.F.": nuovo bottone nel popup Memo per esportare in formato Excel:
- Formato compatibile con template "DIARIO_LAVORO_S_d_F"
- Fogli separati per ogni lavorante (se più di uno)
- Formule data e numero settimana automatiche
- Larghezza colonne auto-fit, bordi minimal
- Colonne CLIENTE e NOTE con larghezza fissa (400px) e word wrap
- Colonne: ID, Data Emissione, Data Inizio Progettazione, Data Scadenza, Data Accettazione Cliente, Esito, Fattibilità, Tipo, Territorio, Provincia, Comune, Cliente, Interventi Dimensionali, Interventi Infrastrutturali, Priorità, Note
- 👤 Colonna Cliente nella Tabella Memo: aggiunta colonna "Cliente" nella tabella del popup Memo, importata automaticamente dal campo "Descrizione / Cliente" della tabella S.d.F.
- 💾 Dati Aggiuntivi per Export: memorizzazione automatica di tutti i campi S.d.F. necessari per l'export Excel (Lavorante, Territorio, Provincia, Comune, Date, Interventi) durante l'import tramite "📝 Aggiungi a Memo".
V29.01 → V22.09 (Memo e Promemoria S.d.F., Visibilità Condizionale, Uniformazione Stili)
- 📝 Memo e Promemoria S.d.F.: nuovo sistema completo per gestire promemoria sulle Schede di Fattibilità:
- Bottone 📝 nell'header per accesso rapido al pannello Memo
- Possibilità di aggiungere memo manuali o importarli dalla tabella S.d.F.
- Alert configurabili per scadenze imminenti (0-30 giorni)
- Export CSV dei memo e gestione completa (modifica, elimina, cerca)
- Badge con contatore memo attivi visibile nell'header
- Persistenza dati in localStorage
- 👁️ Visibilità Condizionale Dettaglio S.d.F.: la card "Dettaglio S.d.F." nel tab Dashboard S.d.F. Internalizzati è ora nascosta di default e viene mostrata solo dopo il caricamento di un file Excel con dati validi.
- 🎨 Uniformazione Stile Bottone Memo: il bottone 📝 Memo nell'header ora ha lo stesso stile piatto degli altri bottoni (es. "⚡ Calcola Attenuazione"), senza ombra blu e con transizioni uniformi.
V22.08 (Ottimizzazione Colonne e Card Stats)
- 📊 Card Collegamenti Non Attivi - Label VERIFICARE SU NNI: la voce "DA VERIFICARE SU NNI" (che accorpa anche "NON ATTIVO [DA VERIFICARE SU NNI]") ora viene visualizzata semplicemente come "VERIFICARE SU NNI" per maggiore compattezza.
- 📐 Colonna ID Collegamenti: larghezza aumentata da 28% a 31% (+10% relativo) nei tab Ricerca Percorso RA, RC e Unificato (esclusa tabella Multi-Path).
- 📐 Colonna Percorso Centrali: ridotta da 40% a 37% per compensare l'allargamento della colonna ID Collegamenti.
- 📏 Allineamento a sinistra: tutte le colonne di tutte le tabelle nei tab Ricerca Percorso RA, RC e Unificato sono ora allineate a sinistra (text-align: left).
- 📋 Collegamenti RC nel tab Unificato: i collegamenti RC nella colonna "ID Collegamenti" vengono ora visualizzati con massimo 4 elementi per riga (es: CCB099 → CCB082 → CCB006 → CCB012 → / CCB023 → CCB005 → ...).
V22.07 (Gestione DA VERIFICARE SU NNI, Formattazione ID RA con Stato)
- 🔘 Nuovo Filtro "DA VERIFICARE SU NNI": aggiunto toggle nero nel tab Database per filtrare gli stati contenenti "DA VERIFICARE SU NNI" (include anche "NON ATTIVO [DA VERIFICARE SU NNI]").
- 📋 Formattazione ID Collegamenti RA con Stato: nella colonna "ID Collegamenti" dei tab "Ricerca Percorso RA" e "Ricerca Percorso Unificato" viene ora mostrato lo stato:
- ATTIVO/NON ATTIVO:
ID [STATO] - IN ATTIVAZIONE/IN VARIAZIONE/IN REINSTRADAMENTO:
ID [STATO • Previsto DATA] - DA VERIFICARE SU NNI:
ID [DA VERIFICARE SU NNI]
- ATTIVO/NON ATTIVO:
- 📊 Card Collegamenti Non Attivi: le voci "DA VERIFICARE SU NNI" e "NON ATTIVO [DA VERIFICARE SU NNI]" sono ora accorpate in un'unica voce aggregata.
- 🔧 Normalizzazione DB RA: supporto automatico per il nuovo formato del database RA Italia (TipoSede_A→TipoSedeA, TIPOPORTANTE→TipoPortante, etc.).
- 📐 Larghezza Colonna ID Collegamenti: aumentata a 85 caratteri (min-width: 520px) per visualizzare stato e previsione su una sola riga.
- 🎨 Default Colonne Tab Database: colonne di default ottimizzate per RA e RC (inclusi Tipo Sede A/Z e Note per RA).
V22.06 → V20.05 (Info Stato/Previsione per ID Collegamenti RC non ATTIVI)
- 📋 Info Stato/Previsione per ID RC: per i collegamenti RC con stato IN ATTIVAZIONE, IN VARIAZIONE o IN REINSTRADAMENTO, viene ora mostrata l'info
[STATO - Previsto: Note]:- Visualizzazione nella colonna "ID Collegamenti" delle tabelle RC e Unificato
- Incluso in tutte le funzioni "Copia Percorso Formattato"
- Incluso in tutte le funzioni "Copia ID Collegamenti"
- Incluso negli export TXT (Std e Std+Div)
- Esempio:
CTO070 [IN ATTIVAZIONE - Previsto: 3/31/26] - ATTIVO e NON ATTIVO: solo colore, nessuna nota aggiuntiva
- 🎨 Colori confermati per stati RC: Verde=ATTIVO, Rosso=NON ATTIVO, Arancione=IN ATTIVAZIONE, Blu=IN VARIAZIONE, Viola=IN REINSTRADAMENTO
V22.04 → V20.02 (Menu Dropdown, S.d.F. Internalizzati, Confronto DB Excel)
- 🔄 Menu Navigazione a Dropdown: riorganizzazione della barra di navigazione:
- "Ricerca Percorsi" ora è un menu a tendina con: RA, RC, Unificato
- "Analisi Extra" ora è un menu a tendina con: S.d.F. Internalizzati, Analisi Rete, Confronto DB Excel, Calcolo Attenuazione
- Navigazione più compatta e organizzata
- 📊 Analisi S.d.F. Internalizzati: nuova dashboard completa:
- KPI in tempo reale (assegnati, completati, da lavorare, annullati)
- 6 grafici interattivi (stato, tipo, priorità, territorio, esito, scadenze)
- Filtri avanzati per stato, tipologia, territorio e scadenza
- Tabella dettagliata con ordinamento e ricerca
- 📋 Analisi & Confronto DB Excel: tool per confronto versioni DB:
- Confronto celle tra versione VECCHIA e NUOVA
- Report dettagliato delle differenze
- Verifica speciale GAT_A/GAT_Z per file RA/RC
- Export JSON del primo foglio
- 🔧 Fix Documentazione: correzione scroll offset per i link dell'indice laterale.
V20.01 → V18.01 (Routing Completo T3, Gateway T1, Copia Formattata)
- 🔄 Routing RA Completo con T3: la colonna "Percorso Centrali" ora mostra TUTTE le centrali attraversate incluse le T3:
- Ogni centrale mostra il TipoSede: [T1], [T2], [T3]
- Centrali possono ripetersi nel percorso (passaggi multipli sullo stesso nodo)
- Sequenza esatta dal progressivo di partenza a quello di arrivo
- 🔄 Routing UNIFIED Completo: espansione automatica degli edge RA virtuali:
- Mostra tutti i collegamenti intermedi (non più compressi)
- Centrali T3 visibili nel percorso con [Tn]
- ID Collegamenti completi dal progressivo start al progressivo end
- 🎯 Gateway T1 Corretto: transizioni RA↔RC ora forzate su nodi TipoSede=1:
- Non si esce più da RA su nodi T3 (era un bug)
- Il percorso continua fino a trovare il CLLI con Tipo 1
- Esempio: NOLA SGT [T3] → ... → NOLA SGT [T1] → RA↔RC
- 📋 Copia Formattata Migliorata: nuova formattazione per tutti i tab:
- Separatori ══════════ uniformi
- Centrali: 2 per riga (RA/UNIFIED), 3 per riga (RC)
- Flag emoji solo su partenza 🇵🇦🇷🇹🇪🇳🇿🇦, gateway 🇬🇦🇹🇪🇼🇦🇾, arrivo 🇦🇷🇷🇮🇻🇴
- Rimosso flag passaggio 🇵🇦🇸🇸🇦🇬🇬🇮🇴 intermedio
- 🔗 Copia ID Collegamenti Migliorata:
- Ogni ID su riga separata (non più raggruppati)
- Flag solo primo/ultimo (+ gateway per UNIFIED)
- RC/UNIFIED: aggregazioni ID+ID+ID e prefisso+numeri
V18.00 → V17.3 (Export Professionale, Copia con Bandiere, Fix Mappe)
- 📄 Export TXT Professionale: nuovo formato unificato per RC, RA e UNIFIED con:
- Header grafico con bordi ═══════ e ────────
- Box percorso con distanza, collegamenti, centrali attraversate
- Centrali numerate .01. .02. con formato (CLLI)
- ID Collegamenti con TipoSede (T1↔T2) e km allineati
- Nomi file standardizzati: CRO_RC_Std_, CRO_RA_StdDiv_, CRO_UNIFIED_
- 📋 Copia Formattata con Bandiere: emoji per indicare posizione nel percorso:
- 🇵🇦🇷🇹🇪🇳🇿🇦 = PARTENZA (primo collegamento)
- 🇵🇦🇸🇸🇦🇬🇬🇮🇴 = PASSAGGIO (cambio centrale intermedia)
- 🇬🇦🇹🇪🇼🇦🇾 = GATEWAY (transizione RA↔RC in UNIFIED)
- 🇦🇷🇷🇮🇻🇴 = ARRIVO (ultimo collegamento)
- 🔗 Bottoni 📋🔗 Solo Icona: rimosso testo "Copia", aggiunti in tabelle Multi-Path e Div Multi-Path.
- 📐 Layout Colonne Ottimizzato:
- RA principale: Percorso Centrali 350px (era 300), ID Collegamenti 150px (era 200)
- Multi-Path: Centrali max 270px, ID min 180px
- UNIFIED: Centrali 480px (era 450), ID 110px (era 140)
- 🗺️ Fix Mappe: corretto errore sintassi "}};" che bloccava tutte le funzioni mappa. Navigazione ripristinata per RC, RA e UNIFIED.
- 🎯 Tab RA: rimosso bottone "🗺️ Maps" dalla colonna Azione tabella principale (disponibile nei bottoni header sezione).
V17.2 (Filtri Avanzati, UX Migliorata, Bottoni Copia)
- 🗺️ Maps Std vs Std+Div (UNIFICATO): bottone "Maps" separato per visualizzare solo percorsi Std oppure tutti i percorsi Std + Div sulla mappa.
- ✕ Bottone Chiudi Modal: aggiunto bottone X per chiudere i popup oltre a ESC.
- 👆 Click Outside Undo: i pannelli "↩️ Undo (Ultime 20)" si chiudono automaticamente cliccando fuori (non solo premendo di nuovo il bottone).
- 🚀🏁 Inserisci senza Popup: toggle Partenza/Arrivo nel tab Unificato ora funziona senza mostrare popup di conferma.
- ℹ️ Info Zona attivato: sezione VENDOR • ZONA • REGIONE • AREA ora funzionante in RA e Unificato.
- 🔗🔢📏 Filtri Avanzati (UNIFICATO): aggiunti N° Collegamenti (max 100), N° Risultati (max 300, default 30), Distanza Km (max 2000).
- 📋🔗 Bottoni Copia (RA + UNIFICATO): aggiunti bottoni "Copia Percorso Formattato" e "Copia ID Collegamenti" nelle tabelle risultati.
- 🎨 Legenda Colori RC: aggiunta legenda colori stato collegamenti nelle Note (Verde=ATTIVO, Rosso=NON ATTIVO).
- 🔄 Layout RA Riorganizzato: invertite righe "Solo ATTIVI + Reset Campi" e "Calcola + Multi-Path + Undo + Reset Tab".
- 🔕 Niente Popup Ripristino (RC): rimossa conferma popup quando si seleziona dalla cronologia ricerche.
V17.1 → V17.02 (UNIFICATO Avanzato - Percorsi Multipli e Diversificazione)
- 🎨 Colorazione ID Collegamenti: implementato sistema di colorazione semantica per il tab Unificato:
- Verde RA: collegamenti T1↔T2 o T2↔T2 (principali, contano 1)
- Blu TIM RA: collegamenti T2↔T3 (intermedi, contano 0.5)
- Grigio RA: collegamenti T3↔T3 (passaggio, non contano)
- Verde RC: collegamenti ATTIVO
- Rosso RC: collegamenti NON ATTIVO
- Viola: label RA↔RC per i cambi di rete
- 🔢 Calcolo Collegamenti: regole differenziate per RA (verde=1, blu=0.5, grigio=0) e RC (tutti contano 1).
- 📊 Colonna Mix Avanzata: mostra conteggio separato RA/RC e numero di salti RA↔RC.
- 🥇🥈 Percorsi Multipli: fino a 10 percorsi standard (Std) con algoritmo K-shortest paths (Yen).
- 🔀 Percorsi Diversificati (Div): fino a 10 percorsi diversificati per ogni Std, con esclusione automatica delle centrali intermedie condivise.
- 🚀🏁 Partenza 2 / Arrivo 2: campi opzionali per definire endpoint alternativi per i percorsi diversificati.
- ✅ Centrale Obbligatoria: nuovo campo con supporto selezione multipla per forzare il passaggio su più centrali.
- 🚫 Centrale da Evitare: nuovo campo con supporto selezione multipla per escludere più centrali dal grafo.
- 📋 Percorso Centrali: partenza e arrivo in grassetto, label RA↔RC in viola grassetto.
- 📦 Nuova sezione UI per i percorsi diversificati con tabella dedicata.
- 🗺️ Integrazione Mappa: sincronizzazione automatica con mappa topografica per percorsi Std e Div.
V17.01 → V16.40 (Fix Mappe Percorsi + UNIFICATO DB)
- Ripristinata sezione HTML "Mappa Topografica dei Percorsi" (
tab-mappa-percorsi) e "Mappa Topografica Nazionale" (tab-map) mancanti nel file. - Fix bottoni 🗺️ Maps nei tab RA e RC: ora funzionano correttamente aprendo la mappa con i percorsi calcolati.
- Fix DB tab UNIFICATO: inizializzazione robusta con retry automatico, log di debug, reinizializzazione automatica al click sul tab.
- Esposta funzione
window.reinitUnifiedTab()per debug e reinizializzazione da console.
V16.39 (UNIFICATO + Cliente SedeA/SedeZ + Undo/Reset)
- UNIFICATO: aggiunti ↩️ Undo (Ultime 20) e 🧼 Reset Tab con comportamento coerente RA/RC.
- Rinomine UI: ⚡ Calcola Percorso UNIFICATO RA + RC, Cliente SedeA → Rete → SedeZ, sezioni e label coordinate.
- Ottimizzazioni micro-layout UNIFICATO (coerenza con tab RA/RC e controlli operativi).
V16.38 (Bottoni copia/Maps – colonna destra)
- Spostamento e riallineamento dei bottoni 📋 Copia Percorso, 🔗 Copia ID Collegamenti, 🗺️ Maps sotto “Note” in colonna destra (fuori dalla card note).
- Allineamento visivo con la riga “Arrivo (Std)” senza impattare le altre sezioni del tab.
V16.37 (Fix posizionamento bottoni UNIFICATO)
- Correzioni su posizionamento bottoni per evitare allineamento “centrato pagina” sopra tabella.
- Consolidata la collocazione: colonna destra, sotto Note, fuori card.
V16.36 (Ottimizzazioni minime UNIFICATO)
- Interventi “chirurgici” sul tab UNIFICATO: spostamenti UI mirati senza alterare la struttura generale.
- Migliorata coerenza con gli altri tab di ricerca (RA/RC).
V16.35 (Rifiniture layout note UNIFICATO)
- Rifiniture colonna destra (Note) e spaziature per rendere il pannello più leggibile.
- Allineamento con comportamento atteso da screenshot di riferimento.
V16.34 (Stabilità e UI UNIFICATO)
- Stabilità su interazioni UNIFICATO e miglior gestione delle azioni utente.
- Piccoli fix su layout/spacing (senza regressioni sui tab RA/RC).
V16.33 (Baseline UNIFICATO esteso)
- Consolidamento tab UNIFICATO con casistiche miste RA↔RC e prime funzioni operative complete.
- Allineamento UI con pattern dei tab RA/RC (sezioni e griglie).
V16.32 (Fix minori e coerenza UI)
- Correzioni minori di impaginazione e coerenza UI tra tab di ricerca.
- Stabilizzazione flussi di reset/aggiornamento risultati.
V16.31 (Avvio ciclo Rev16.x)
- Aggiornamento card “Novità” in Overview e consolidamento struttura principale.
- Prima base completa Rev16.x su cui sono state applicate le revisioni successive.
👤 About Me
Giuseppe Lupoli
Info
📊 Schema Coda Cliente & Servizio
Struttura dei costi per tipologia di coda e servizio
📋 Schema Link Rete RA & RC
Listino prezzi collegamenti di rete
🔧 Schema Apparati & Cestelli
Costi apparati di rete e configurazioni cestelli